diff --git a/.DS_Store b/.DS_Store index 118da247..8c5ce4d6 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.env.example b/.env.example deleted file mode 100644 index 88181e88..00000000 --- a/.env.example +++ /dev/null @@ -1,5 +0,0 @@ -NEXT_PUBLIC_SUPABASE_URL= -NEXT_PUBLIC_SUPABASE_ANON_KEY= -SUPABASE_SERVICE_ROLE= -PRIVATE_KEY= -NEXT_PUBLIC_THIRDWEB_AUTH_DOMAIN= \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 069dd45e..00000000 --- a/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Signal-K/Client -Repository for the Star Sailors web application - -## Setup -Create a `.env` file for your environment variables with the following arrangement: -``` -NEXT_PUBLIC_SUPABASE_URL= -NEXT_PUBLIC_SUPABASE_ANON_KEY= -SUPABASE_SERVICE_ROLE= -``` \ No newline at end of file diff --git a/Spacefile b/Spacefile new file mode 100644 index 00000000..c3a79a09 --- /dev/null +++ b/Spacefile @@ -0,0 +1,7 @@ +# Spacefile Docs: https://go.deta.dev/docs/spacefile/v0 +v: 0 +micros: + - name: client + src: ./ + engine: next + primary: true diff --git a/api b/api deleted file mode 160000 index 8f42351e..00000000 --- a/api +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8f42351eb39dceb387a5aabb0fc942ee55d7975f diff --git a/artifacts/build-info/588467247110c8b5b922ad03f233358d.json b/artifacts/build-info/588467247110c8b5b922ad03f233358d.json deleted file mode 100644 index 19fdd8bf..00000000 --- a/artifacts/build-info/588467247110c8b5b922ad03f233358d.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"588467247110c8b5b922ad03f233358d","_format":"hh-sol-build-info-1","solcVersion":"0.8.11","solcLongVersion":"0.8.11+commit.d7f03943","input":{"language":"Solidity","sources":{"contracts/interface/IPermissions.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IPermissions {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}"},"contracts/lib/TWStrings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary TWStrings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n}"},"contracts/planetProposal.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\ncontract PlanetProposal {\n struct Proposal {\n string question;\n uint256 yesVotes;\n uint256 noVotes;\n }\n\n Proposal[] public proposals;\n mapping(uint256 => mapping(address => bool)) public hasVoted;\n\n function createProposal(string memory _question) public {\n proposals.push(Proposal({\n question: _question,\n yesVotes: 0,\n noVotes: 0\n }));\n }\n\n function vote(uint256 _proposalIndex, bool _voteYes) public {\n require(!hasVoted[_proposalIndex][msg.sender], \"You have already voted.\");\n\n if (_voteYes) {\n proposals[_proposalIndex].yesVotes += 1;\n } else {\n proposals[_proposalIndex].noVotes += 1;\n }\n\n hasVoted[_proposalIndex][msg.sender] = true;\n }\n\n function getProposalResult(uint256 _proposalIndex) public view returns (string memory, uint256, uint256) {\n return (\n proposals[_proposalIndex].question,\n proposals[_proposalIndex].yesVotes,\n proposals[_proposalIndex].noVotes\n );\n }\n}"},"contracts/proposal.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.11;\n\ncontract ClassificationProposal {\n struct Classification { \n // What types will this struct/campaign have?\n address owner;\n string title; // Title of the Proposal, type string\n string description;\n uint256 target; // How many coins to get the proposal to pass?\n uint256 deadline;\n uint256 amountCollected; // Goes towards target\n string image; // image uri/url\n address[] voters;\n uint256[] votes; // Consider adding more components to match discussion in wb3-5 task\n }\n\n mapping(uint256 => Classification) public classifications;\n uint256 public numberOfClassifications = 0;\n \n function createProposal(address _owner, string memory _title, string memory _description, uint256 _target, uint256 _deadline, string memory _image) public returns (uint256) { // Returns id of the classification's proposal\n Classification storage classification = classifications[numberOfClassifications]; // Populates the classifications array\n require(classification.deadline < block.timestamp, \"The deadline should be a date in the future\"); // Maybe add another modifier to specify a minimum deadline period e.g. 1 day\n \n classification.owner = _owner;\n classification.title = _title;\n classification.description = _description;\n classification.target = _target;\n classification.deadline = _deadline;\n classification.amountCollected = 0;\n classification.image = _image;\n\n numberOfClassifications++;\n\n return numberOfClassifications - 1;\n }\n\n function voteForProposal(uint256 _id) public payable { // Some crypto will be sent with the classificationID used as a param\n uint256 amount = msg.value; // This amount is set by user (typically in frontend); the amount they'll be pledging towards a classification\n Classification storage classification = classifications[_id];\n \n classification.voters.push(msg.sender); // Push the address of user who voted\n classification.votes.push(amount); // Amount of custom erc20 token pledged\n \n (bool sent,) = payable(classification.owner).call{value: amount}(\"\");\n if (sent) {\n classification.amountCollected = classification.amountCollected + amount;\n }\n }\n\n function getVoters(uint256 _id) view public returns(address[] memory, uint256[] memory) { // Array of votes and number of voters\n return (classifications[_id].voters, classifications[_id].votes);\n }\n\n function getProposals() public view returns(Classification[] memory) { // Retrieved from memory\n Classification[] memory allClassifications = new Classification[](numberOfClassifications); // Empty array of empty structs referencing each classification/proposal\n\n for (uint i = 0; i < numberOfClassifications; i++) {\n Classification storage item = classifications[i];\n allClassifications[i] = item; // Fetch the classification from storage and populate it in allClassifications\n }\n\n return allClassifications;\n }\n}"}},"settings":{"optimizer":{"enabled":true,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/interface/IPermissions.sol":{"ast":{"absolutePath":"contracts/interface/IPermissions.sol","exportedSymbols":{"IPermissions":[72]},"id":73,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"39:23:0"},{"abstract":false,"baseContracts":[],"canonicalName":"IPermissions","contractDependencies":[],"contractKind":"interface","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"64:89:0","text":" @dev External interface of AccessControl declared to support ERC165 detection."},"fullyImplemented":false,"id":72,"linearizedBaseContracts":[72],"name":"IPermissions","nameLocation":"164:12:0","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":3,"nodeType":"StructuredDocumentation","src":"183:292:0","text":" @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._"},"id":11,"name":"RoleAdminChanged","nameLocation":"486:16:0","nodeType":"EventDefinition","parameters":{"id":10,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"519:4:0","nodeType":"VariableDeclaration","scope":11,"src":"503:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4,"name":"bytes32","nodeType":"ElementaryTypeName","src":"503:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"541:17:0","nodeType":"VariableDeclaration","scope":11,"src":"525:33:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6,"name":"bytes32","nodeType":"ElementaryTypeName","src":"525:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"576:12:0","nodeType":"VariableDeclaration","scope":11,"src":"560:28:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8,"name":"bytes32","nodeType":"ElementaryTypeName","src":"560:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"502:87:0"},"src":"480:110:0"},{"anonymous":false,"documentation":{"id":12,"nodeType":"StructuredDocumentation","src":"596:212:0","text":" @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {AccessControl-_setupRole}."},"id":20,"name":"RoleGranted","nameLocation":"819:11:0","nodeType":"EventDefinition","parameters":{"id":19,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"847:4:0","nodeType":"VariableDeclaration","scope":20,"src":"831:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13,"name":"bytes32","nodeType":"ElementaryTypeName","src":"831:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"869:7:0","nodeType":"VariableDeclaration","scope":20,"src":"853:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15,"name":"address","nodeType":"ElementaryTypeName","src":"853:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"894:6:0","nodeType":"VariableDeclaration","scope":20,"src":"878:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17,"name":"address","nodeType":"ElementaryTypeName","src":"878:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"830:71:0"},"src":"813:89:0"},{"anonymous":false,"documentation":{"id":21,"nodeType":"StructuredDocumentation","src":"908:275:0","text":" @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)"},"id":29,"name":"RoleRevoked","nameLocation":"1194:11:0","nodeType":"EventDefinition","parameters":{"id":28,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1222:4:0","nodeType":"VariableDeclaration","scope":29,"src":"1206:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":22,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1206:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":25,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1244:7:0","nodeType":"VariableDeclaration","scope":29,"src":"1228:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"1228:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1269:6:0","nodeType":"VariableDeclaration","scope":29,"src":"1253:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1205:71:0"},"src":"1188:89:0"},{"documentation":{"id":30,"nodeType":"StructuredDocumentation","src":"1283:76:0","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":39,"implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"1373:7:0","nodeType":"FunctionDefinition","parameters":{"id":35,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32,"mutability":"mutable","name":"role","nameLocation":"1389:4:0","nodeType":"VariableDeclaration","scope":39,"src":"1381:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1381:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34,"mutability":"mutable","name":"account","nameLocation":"1403:7:0","nodeType":"VariableDeclaration","scope":39,"src":"1395:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1380:31:0"},"returnParameters":{"id":38,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39,"src":"1435:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36,"name":"bool","nodeType":"ElementaryTypeName","src":"1435:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1434:6:0"},"scope":72,"src":"1364:77:0","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":40,"nodeType":"StructuredDocumentation","src":"1447:184:0","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}."},"functionSelector":"248a9ca3","id":47,"implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"1645:12:0","nodeType":"FunctionDefinition","parameters":{"id":43,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42,"mutability":"mutable","name":"role","nameLocation":"1666:4:0","nodeType":"VariableDeclaration","scope":47,"src":"1658:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1658:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1657:14:0"},"returnParameters":{"id":46,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47,"src":"1695:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1695:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1694:9:0"},"scope":72,"src":"1636:68:0","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"1710:239:0","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"2f2ff15d","id":55,"implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"1963:9:0","nodeType":"FunctionDefinition","parameters":{"id":53,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50,"mutability":"mutable","name":"role","nameLocation":"1981:4:0","nodeType":"VariableDeclaration","scope":55,"src":"1973:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1973:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52,"mutability":"mutable","name":"account","nameLocation":"1995:7:0","nodeType":"VariableDeclaration","scope":55,"src":"1987:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51,"name":"address","nodeType":"ElementaryTypeName","src":"1987:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1972:31:0"},"returnParameters":{"id":54,"nodeType":"ParameterList","parameters":[],"src":"2012:0:0"},"scope":72,"src":"1954:59:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":56,"nodeType":"StructuredDocumentation","src":"2019:223:0","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"d547741f","id":63,"implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"2256:10:0","nodeType":"FunctionDefinition","parameters":{"id":61,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58,"mutability":"mutable","name":"role","nameLocation":"2275:4:0","nodeType":"VariableDeclaration","scope":63,"src":"2267:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2267:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":60,"mutability":"mutable","name":"account","nameLocation":"2289:7:0","nodeType":"VariableDeclaration","scope":63,"src":"2281:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59,"name":"address","nodeType":"ElementaryTypeName","src":"2281:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2266:31:0"},"returnParameters":{"id":62,"nodeType":"ParameterList","parameters":[],"src":"2306:0:0"},"scope":72,"src":"2247:60:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"2313:480:0","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`."},"functionSelector":"36568abe","id":71,"implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"2807:12:0","nodeType":"FunctionDefinition","parameters":{"id":69,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"role","nameLocation":"2828:4:0","nodeType":"VariableDeclaration","scope":71,"src":"2820:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2820:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"account","nameLocation":"2842:7:0","nodeType":"VariableDeclaration","scope":71,"src":"2834:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"2834:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2819:31:0"},"returnParameters":{"id":70,"nodeType":"ParameterList","parameters":[],"src":"2859:0:0"},"scope":72,"src":"2798:62:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":73,"src":"154:2708:0","usedErrors":[]}],"src":"39:2823:0"},"id":0},"contracts/lib/TWStrings.sol":{"ast":{"absolutePath":"contracts/lib/TWStrings.sol","exportedSymbols":{"TWStrings":[275]},"id":276,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":74,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"86:23:1"},{"abstract":false,"baseContracts":[],"canonicalName":"TWStrings","contractDependencies":[],"contractKind":"library","documentation":{"id":75,"nodeType":"StructuredDocumentation","src":"111:34:1","text":" @dev String operations."},"fullyImplemented":true,"id":275,"linearizedBaseContracts":[275],"name":"TWStrings","nameLocation":"154:9:1","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":78,"mutability":"constant","name":"_HEX_SYMBOLS","nameLocation":"195:12:1","nodeType":"VariableDeclaration","scope":275,"src":"170:58:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":76,"name":"bytes16","nodeType":"ElementaryTypeName","src":"170:7:1","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"210:18:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"body":{"id":156,"nodeType":"Block","src":"401:632:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":86,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81,"src":"603:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":87,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"612:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"603:10:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":92,"nodeType":"IfStatement","src":"599:51:1","trueBody":{"id":91,"nodeType":"Block","src":"615:35:1","statements":[{"expression":{"hexValue":"30","id":89,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"636:3:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"functionReturnParameters":85,"id":90,"nodeType":"Return","src":"629:10:1"}]}},{"assignments":[94],"declarations":[{"constant":false,"id":94,"mutability":"mutable","name":"temp","nameLocation":"667:4:1","nodeType":"VariableDeclaration","scope":156,"src":"659:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96,"initialValue":{"id":95,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81,"src":"674:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"659:20:1"},{"assignments":[98],"declarations":[{"constant":false,"id":98,"mutability":"mutable","name":"digits","nameLocation":"697:6:1","nodeType":"VariableDeclaration","scope":156,"src":"689:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97,"name":"uint256","nodeType":"ElementaryTypeName","src":"689:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":99,"nodeType":"VariableDeclarationStatement","src":"689:14:1"},{"body":{"id":110,"nodeType":"Block","src":"731:57:1","statements":[{"expression":{"id":104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"745:8:1","subExpression":{"id":103,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"745:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":105,"nodeType":"ExpressionStatement","src":"745:8:1"},{"expression":{"id":108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":106,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"767:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"775:2:1","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"767:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":109,"nodeType":"ExpressionStatement","src":"767:10:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":100,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"720:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"728:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"720:9:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":111,"nodeType":"WhileStatement","src":"713:75:1"},{"assignments":[113],"declarations":[{"constant":false,"id":113,"mutability":"mutable","name":"buffer","nameLocation":"810:6:1","nodeType":"VariableDeclaration","scope":156,"src":"797:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":112,"name":"bytes","nodeType":"ElementaryTypeName","src":"797:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":118,"initialValue":{"arguments":[{"id":116,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"829:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"819:9:1","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":114,"name":"bytes","nodeType":"ElementaryTypeName","src":"823:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"819:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"797:39:1"},{"body":{"id":149,"nodeType":"Block","src":"865:131:1","statements":[{"expression":{"id":124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":122,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"879:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"889:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"879:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":125,"nodeType":"ExpressionStatement","src":"879:11:1"},{"expression":{"id":143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":126,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113,"src":"904:6:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":128,"indexExpression":{"id":127,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"911:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"904:14:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3438","id":133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"934:2:1","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":136,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81,"src":"947:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"955:2:1","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"947:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"939:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":134,"name":"uint256","nodeType":"ElementaryTypeName","src":"939:7:1","typeDescriptions":{}}},"id":139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"939:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"934:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"928:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":131,"name":"uint8","nodeType":"ElementaryTypeName","src":"928:5:1","typeDescriptions":{}}},"id":141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"928:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"921:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":129,"name":"bytes1","nodeType":"ElementaryTypeName","src":"921:6:1","typeDescriptions":{}}},"id":142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"921:39:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"904:56:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":144,"nodeType":"ExpressionStatement","src":"904:56:1"},{"expression":{"id":147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":145,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81,"src":"974:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"983:2:1","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"974:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":148,"nodeType":"ExpressionStatement","src":"974:11:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":119,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81,"src":"853:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"862:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"853:10:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":150,"nodeType":"WhileStatement","src":"846:150:1"},{"expression":{"arguments":[{"id":153,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113,"src":"1019:6:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1012:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":151,"name":"string","nodeType":"ElementaryTypeName","src":"1012:6:1","typeDescriptions":{}}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1012:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":85,"id":155,"nodeType":"Return","src":"1005:21:1"}]},"documentation":{"id":79,"nodeType":"StructuredDocumentation","src":"235:90:1","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"id":157,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"339:8:1","nodeType":"FunctionDefinition","parameters":{"id":82,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"mutability":"mutable","name":"value","nameLocation":"356:5:1","nodeType":"VariableDeclaration","scope":157,"src":"348:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80,"name":"uint256","nodeType":"ElementaryTypeName","src":"348:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"347:15:1"},"returnParameters":{"id":85,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":157,"src":"386:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":83,"name":"string","nodeType":"ElementaryTypeName","src":"386:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"385:15:1"},"scope":275,"src":"330:703:1","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":197,"nodeType":"Block","src":"1212:255:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":165,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"1226:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1235:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1226:10:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":171,"nodeType":"IfStatement","src":"1222:54:1","trueBody":{"id":170,"nodeType":"Block","src":"1238:38:1","statements":[{"expression":{"hexValue":"30783030","id":168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1259:6:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4","typeString":"literal_string \"0x00\""},"value":"0x00"},"functionReturnParameters":164,"id":169,"nodeType":"Return","src":"1252:13:1"}]}},{"assignments":[173],"declarations":[{"constant":false,"id":173,"mutability":"mutable","name":"temp","nameLocation":"1293:4:1","nodeType":"VariableDeclaration","scope":197,"src":"1285:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":172,"name":"uint256","nodeType":"ElementaryTypeName","src":"1285:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":175,"initialValue":{"id":174,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"1300:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1285:20:1"},{"assignments":[177],"declarations":[{"constant":false,"id":177,"mutability":"mutable","name":"length","nameLocation":"1323:6:1","nodeType":"VariableDeclaration","scope":197,"src":"1315:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":176,"name":"uint256","nodeType":"ElementaryTypeName","src":"1315:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":179,"initialValue":{"hexValue":"30","id":178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1332:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1315:18:1"},{"body":{"id":190,"nodeType":"Block","src":"1361:57:1","statements":[{"expression":{"id":184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1375:8:1","subExpression":{"id":183,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"1375:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":185,"nodeType":"ExpressionStatement","src":"1375:8:1"},{"expression":{"id":188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":186,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"1397:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1406:1:1","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1397:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":189,"nodeType":"ExpressionStatement","src":"1397:10:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":180,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"1350:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1358:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1350:9:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":191,"nodeType":"WhileStatement","src":"1343:75:1"},{"expression":{"arguments":[{"id":193,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"1446:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":194,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"1453:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":192,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[198,274],"referencedDeclaration":274,"src":"1434:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1434:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":164,"id":196,"nodeType":"Return","src":"1427:33:1"}]},"documentation":{"id":158,"nodeType":"StructuredDocumentation","src":"1039:94:1","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"id":198,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1147:11:1","nodeType":"FunctionDefinition","parameters":{"id":161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":160,"mutability":"mutable","name":"value","nameLocation":"1167:5:1","nodeType":"VariableDeclaration","scope":198,"src":"1159:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":159,"name":"uint256","nodeType":"ElementaryTypeName","src":"1159:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1158:15:1"},"returnParameters":{"id":164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":198,"src":"1197:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":162,"name":"string","nodeType":"ElementaryTypeName","src":"1197:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1196:15:1"},"scope":275,"src":"1138:329:1","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":273,"nodeType":"Block","src":"1680:351:1","statements":[{"assignments":[209],"declarations":[{"constant":false,"id":209,"mutability":"mutable","name":"buffer","nameLocation":"1703:6:1","nodeType":"VariableDeclaration","scope":273,"src":"1690:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":208,"name":"bytes","nodeType":"ElementaryTypeName","src":"1690:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":218,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1722:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":213,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":203,"src":"1726:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1722:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1735:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1722:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1712:9:1","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":210,"name":"bytes","nodeType":"ElementaryTypeName","src":"1716:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1712:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1690:47:1"},{"expression":{"id":223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":219,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"1747:6:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":221,"indexExpression":{"hexValue":"30","id":220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1754:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1747:9:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1759:3:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"1747:15:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":224,"nodeType":"ExpressionStatement","src":"1747:15:1"},{"expression":{"id":229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":225,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"1772:6:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":227,"indexExpression":{"hexValue":"31","id":226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1779:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1772:9:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1784:3:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"1772:15:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":230,"nodeType":"ExpressionStatement","src":"1772:15:1"},{"body":{"id":259,"nodeType":"Block","src":"1842:87:1","statements":[{"expression":{"id":253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":245,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"1856:6:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":247,"indexExpression":{"id":246,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"1863:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1856:9:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":248,"name":"_HEX_SYMBOLS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"1868:12:1","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":252,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":249,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":201,"src":"1881:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1889:3:1","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"1881:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1868:25:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"1856:37:1","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":254,"nodeType":"ExpressionStatement","src":"1856:37:1"},{"expression":{"id":257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":255,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":201,"src":"1907:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1917:1:1","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1907:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":258,"nodeType":"ExpressionStatement","src":"1907:11:1"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":239,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"1830:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1834:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1830:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":260,"initializationExpression":{"assignments":[232],"declarations":[{"constant":false,"id":232,"mutability":"mutable","name":"i","nameLocation":"1810:1:1","nodeType":"VariableDeclaration","scope":260,"src":"1802:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"1802:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":238,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1814:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":234,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":203,"src":"1818:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1814:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1827:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1814:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1802:26:1"},"loopExpression":{"expression":{"id":243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"1837:3:1","subExpression":{"id":242,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"1839:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":244,"nodeType":"ExpressionStatement","src":"1837:3:1"},"nodeType":"ForStatement","src":"1797:132:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":262,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":201,"src":"1946:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1955:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1946:10:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","id":265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1958:34:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""},"value":"Strings: hex length insufficient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""}],"id":261,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1938:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1938:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":267,"nodeType":"ExpressionStatement","src":"1938:55:1"},{"expression":{"arguments":[{"id":270,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"2017:6:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2010:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":268,"name":"string","nodeType":"ElementaryTypeName","src":"2010:6:1","typeDescriptions":{}}},"id":271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2010:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":207,"id":272,"nodeType":"Return","src":"2003:21:1"}]},"documentation":{"id":199,"nodeType":"StructuredDocumentation","src":"1473:112:1","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"id":274,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1599:11:1","nodeType":"FunctionDefinition","parameters":{"id":204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":201,"mutability":"mutable","name":"value","nameLocation":"1619:5:1","nodeType":"VariableDeclaration","scope":274,"src":"1611:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":200,"name":"uint256","nodeType":"ElementaryTypeName","src":"1611:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":203,"mutability":"mutable","name":"length","nameLocation":"1634:6:1","nodeType":"VariableDeclaration","scope":274,"src":"1626:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":202,"name":"uint256","nodeType":"ElementaryTypeName","src":"1626:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1610:31:1"},"returnParameters":{"id":207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":274,"src":"1665:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":205,"name":"string","nodeType":"ElementaryTypeName","src":"1665:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1664:15:1"},"scope":275,"src":"1590:441:1","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":276,"src":"146:1887:1","usedErrors":[]}],"src":"86:1947:1"},"id":1},"contracts/planetProposal.sol":{"ast":{"absolutePath":"contracts/planetProposal.sol","exportedSymbols":{"PlanetProposal":[383]},"id":384,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":277,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"39:23:2"},{"abstract":false,"baseContracts":[],"canonicalName":"PlanetProposal","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":383,"linearizedBaseContracts":[383],"name":"PlanetProposal","nameLocation":"73:14:2","nodeType":"ContractDefinition","nodes":[{"canonicalName":"PlanetProposal.Proposal","id":284,"members":[{"constant":false,"id":279,"mutability":"mutable","name":"question","nameLocation":"127:8:2","nodeType":"VariableDeclaration","scope":284,"src":"120:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":278,"name":"string","nodeType":"ElementaryTypeName","src":"120:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":281,"mutability":"mutable","name":"yesVotes","nameLocation":"153:8:2","nodeType":"VariableDeclaration","scope":284,"src":"145:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":280,"name":"uint256","nodeType":"ElementaryTypeName","src":"145:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":283,"mutability":"mutable","name":"noVotes","nameLocation":"179:7:2","nodeType":"VariableDeclaration","scope":284,"src":"171:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":282,"name":"uint256","nodeType":"ElementaryTypeName","src":"171:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"101:8:2","nodeType":"StructDefinition","scope":383,"src":"94:99:2","visibility":"public"},{"constant":false,"functionSelector":"013cf08b","id":288,"mutability":"mutable","name":"proposals","nameLocation":"217:9:2","nodeType":"VariableDeclaration","scope":383,"src":"199:27:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage","typeString":"struct PlanetProposal.Proposal[]"},"typeName":{"baseType":{"id":286,"nodeType":"UserDefinedTypeName","pathNode":{"id":285,"name":"Proposal","nodeType":"IdentifierPath","referencedDeclaration":284,"src":"199:8:2"},"referencedDeclaration":284,"src":"199:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$284_storage_ptr","typeString":"struct PlanetProposal.Proposal"}},"id":287,"nodeType":"ArrayTypeName","src":"199:10:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage_ptr","typeString":"struct PlanetProposal.Proposal[]"}},"visibility":"public"},{"constant":false,"functionSelector":"43859632","id":294,"mutability":"mutable","name":"hasVoted","nameLocation":"284:8:2","nodeType":"VariableDeclaration","scope":383,"src":"232:60:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"},"typeName":{"id":293,"keyType":{"id":289,"name":"uint256","nodeType":"ElementaryTypeName","src":"240:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"232:44:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"},"valueType":{"id":292,"keyType":{"id":290,"name":"address","nodeType":"ElementaryTypeName","src":"259:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"251:24:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":291,"name":"bool","nodeType":"ElementaryTypeName","src":"270:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"body":{"id":309,"nodeType":"Block","src":"355:135:2","statements":[{"expression":{"arguments":[{"arguments":[{"id":303,"name":"_question","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":296,"src":"413:9:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"446:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"470:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":302,"name":"Proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":284,"src":"380:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Proposal_$284_storage_ptr_$","typeString":"type(struct PlanetProposal.Proposal storage pointer)"}},"id":306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["question","yesVotes","noVotes"],"nodeType":"FunctionCall","src":"380:102:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$284_memory_ptr","typeString":"struct PlanetProposal.Proposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$284_memory_ptr","typeString":"struct PlanetProposal.Proposal memory"}],"expression":{"id":299,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"365:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage","typeString":"struct PlanetProposal.Proposal storage ref[] storage ref"}},"id":301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"365:14:2","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Proposal_$284_storage_$dyn_storage_ptr_$_t_struct$_Proposal_$284_storage_$returns$__$bound_to$_t_array$_t_struct$_Proposal_$284_storage_$dyn_storage_ptr_$","typeString":"function (struct PlanetProposal.Proposal storage ref[] storage pointer,struct PlanetProposal.Proposal storage ref)"}},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"365:118:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":308,"nodeType":"ExpressionStatement","src":"365:118:2"}]},"functionSelector":"49c2a1a6","id":310,"implemented":true,"kind":"function","modifiers":[],"name":"createProposal","nameLocation":"308:14:2","nodeType":"FunctionDefinition","parameters":{"id":297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":296,"mutability":"mutable","name":"_question","nameLocation":"337:9:2","nodeType":"VariableDeclaration","scope":310,"src":"323:23:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":295,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"322:25:2"},"returnParameters":{"id":298,"nodeType":"ParameterList","parameters":[],"src":"355:0:2"},"scope":383,"src":"299:191:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":355,"nodeType":"Block","src":"556:301:2","statements":[{"expression":{"arguments":[{"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"574:37:2","subExpression":{"baseExpression":{"baseExpression":{"id":318,"name":"hasVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"575:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"}},"id":320,"indexExpression":{"id":319,"name":"_proposalIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":312,"src":"584:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"575:24:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":323,"indexExpression":{"expression":{"id":321,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"600:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"600:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"575:36:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"596f75206861766520616c726561647920766f7465642e","id":325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"613:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_1814df8007c14967d1dedfd016a222fa9f9d3d95d881e38c6e569314cca84863","typeString":"literal_string \"You have already voted.\""},"value":"You have already voted."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1814df8007c14967d1dedfd016a222fa9f9d3d95d881e38c6e569314cca84863","typeString":"literal_string \"You have already voted.\""}],"id":317,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"566:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"566:73:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":327,"nodeType":"ExpressionStatement","src":"566:73:2"},{"condition":{"id":328,"name":"_voteYes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":314,"src":"654:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":344,"nodeType":"Block","src":"734:63:2","statements":[{"expression":{"id":342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":337,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"748:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage","typeString":"struct PlanetProposal.Proposal storage ref[] storage ref"}},"id":339,"indexExpression":{"id":338,"name":"_proposalIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":312,"src":"758:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"748:25:2","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$284_storage","typeString":"struct PlanetProposal.Proposal storage ref"}},"id":340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"noVotes","nodeType":"MemberAccess","referencedDeclaration":283,"src":"748:33:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"785:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"748:38:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":343,"nodeType":"ExpressionStatement","src":"748:38:2"}]},"id":345,"nodeType":"IfStatement","src":"650:147:2","trueBody":{"id":336,"nodeType":"Block","src":"664:64:2","statements":[{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":329,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"678:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage","typeString":"struct PlanetProposal.Proposal storage ref[] storage ref"}},"id":331,"indexExpression":{"id":330,"name":"_proposalIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":312,"src":"688:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"678:25:2","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$284_storage","typeString":"struct PlanetProposal.Proposal storage ref"}},"id":332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"yesVotes","nodeType":"MemberAccess","referencedDeclaration":281,"src":"678:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"716:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"678:39:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":335,"nodeType":"ExpressionStatement","src":"678:39:2"}]}},{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":346,"name":"hasVoted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"807:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint256 => mapping(address => bool))"}},"id":350,"indexExpression":{"id":347,"name":"_proposalIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":312,"src":"816:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"807:24:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"expression":{"id":348,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"832:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"832:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"807:36:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"846:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"807:43:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"807:43:2"}]},"functionSelector":"c9d27afe","id":356,"implemented":true,"kind":"function","modifiers":[],"name":"vote","nameLocation":"505:4:2","nodeType":"FunctionDefinition","parameters":{"id":315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":312,"mutability":"mutable","name":"_proposalIndex","nameLocation":"518:14:2","nodeType":"VariableDeclaration","scope":356,"src":"510:22:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":311,"name":"uint256","nodeType":"ElementaryTypeName","src":"510:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":314,"mutability":"mutable","name":"_voteYes","nameLocation":"539:8:2","nodeType":"VariableDeclaration","scope":356,"src":"534:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":313,"name":"bool","nodeType":"ElementaryTypeName","src":"534:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"509:39:2"},"returnParameters":{"id":316,"nodeType":"ParameterList","parameters":[],"src":"556:0:2"},"scope":383,"src":"496:361:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":381,"nodeType":"Block","src":"968:177:2","statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":367,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"999:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage","typeString":"struct PlanetProposal.Proposal storage ref[] storage ref"}},"id":369,"indexExpression":{"id":368,"name":"_proposalIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":358,"src":"1009:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"999:25:2","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$284_storage","typeString":"struct PlanetProposal.Proposal storage ref"}},"id":370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"question","nodeType":"MemberAccess","referencedDeclaration":279,"src":"999:34:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"baseExpression":{"id":371,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"1047:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage","typeString":"struct PlanetProposal.Proposal storage ref[] storage ref"}},"id":373,"indexExpression":{"id":372,"name":"_proposalIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":358,"src":"1057:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1047:25:2","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$284_storage","typeString":"struct PlanetProposal.Proposal storage ref"}},"id":374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"yesVotes","nodeType":"MemberAccess","referencedDeclaration":281,"src":"1047:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":375,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"1095:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Proposal_$284_storage_$dyn_storage","typeString":"struct PlanetProposal.Proposal storage ref[] storage ref"}},"id":377,"indexExpression":{"id":376,"name":"_proposalIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":358,"src":"1105:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1095:25:2","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$284_storage","typeString":"struct PlanetProposal.Proposal storage ref"}},"id":378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"noVotes","nodeType":"MemberAccess","referencedDeclaration":283,"src":"1095:33:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":379,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"985:153:2","typeDescriptions":{"typeIdentifier":"t_tuple$_t_string_storage_$_t_uint256_$_t_uint256_$","typeString":"tuple(string storage ref,uint256,uint256)"}},"functionReturnParameters":366,"id":380,"nodeType":"Return","src":"978:160:2"}]},"functionSelector":"f91f88f7","id":382,"implemented":true,"kind":"function","modifiers":[],"name":"getProposalResult","nameLocation":"872:17:2","nodeType":"FunctionDefinition","parameters":{"id":359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":358,"mutability":"mutable","name":"_proposalIndex","nameLocation":"898:14:2","nodeType":"VariableDeclaration","scope":382,"src":"890:22:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":357,"name":"uint256","nodeType":"ElementaryTypeName","src":"890:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"889:24:2"},"returnParameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":382,"src":"935:13:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":360,"name":"string","nodeType":"ElementaryTypeName","src":"935:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":382,"src":"950:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"950:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":382,"src":"959:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":364,"name":"uint256","nodeType":"ElementaryTypeName","src":"959:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"934:33:2"},"scope":383,"src":"863:282:2","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":384,"src":"64:1083:2","usedErrors":[]}],"src":"39:1108:2"},"id":2},"contracts/proposal.sol":{"ast":{"absolutePath":"contracts/proposal.sol","exportedSymbols":{"ClassificationProposal":[627]},"id":628,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":385,"literals":["solidity","^","0.8",".11"],"nodeType":"PragmaDirective","src":"39:24:3"},{"abstract":false,"baseContracts":[],"canonicalName":"ClassificationProposal","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":627,"linearizedBaseContracts":[627],"name":"ClassificationProposal","nameLocation":"74:22:3","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ClassificationProposal.Classification","id":406,"members":[{"constant":false,"id":387,"mutability":"mutable","name":"owner","nameLocation":"198:5:3","nodeType":"VariableDeclaration","scope":406,"src":"190:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":386,"name":"address","nodeType":"ElementaryTypeName","src":"190:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":389,"mutability":"mutable","name":"title","nameLocation":"220:5:3","nodeType":"VariableDeclaration","scope":406,"src":"213:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":388,"name":"string","nodeType":"ElementaryTypeName","src":"213:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":391,"mutability":"mutable","name":"description","nameLocation":"280:11:3","nodeType":"VariableDeclaration","scope":406,"src":"273:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":390,"name":"string","nodeType":"ElementaryTypeName","src":"273:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":393,"mutability":"mutable","name":"target","nameLocation":"309:6:3","nodeType":"VariableDeclaration","scope":406,"src":"301:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"301:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"deadline","nameLocation":"380:8:3","nodeType":"VariableDeclaration","scope":406,"src":"372:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":394,"name":"uint256","nodeType":"ElementaryTypeName","src":"372:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":397,"mutability":"mutable","name":"amountCollected","nameLocation":"406:15:3","nodeType":"VariableDeclaration","scope":406,"src":"398:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":396,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":399,"mutability":"mutable","name":"image","nameLocation":"461:5:3","nodeType":"VariableDeclaration","scope":406,"src":"454:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":398,"name":"string","nodeType":"ElementaryTypeName","src":"454:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":402,"mutability":"mutable","name":"voters","nameLocation":"503:6:3","nodeType":"VariableDeclaration","scope":406,"src":"493:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":400,"name":"address","nodeType":"ElementaryTypeName","src":"493:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":401,"nodeType":"ArrayTypeName","src":"493:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":405,"mutability":"mutable","name":"votes","nameLocation":"529:5:3","nodeType":"VariableDeclaration","scope":406,"src":"519:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":403,"name":"uint256","nodeType":"ElementaryTypeName","src":"519:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":404,"nodeType":"ArrayTypeName","src":"519:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"name":"Classification","nameLocation":"110:14:3","nodeType":"StructDefinition","scope":627,"src":"103:507:3","visibility":"public"},{"constant":false,"functionSelector":"a8894930","id":411,"mutability":"mutable","name":"classifications","nameLocation":"658:15:3","nodeType":"VariableDeclaration","scope":627,"src":"616:57:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Classification_$406_storage_$","typeString":"mapping(uint256 => struct ClassificationProposal.Classification)"},"typeName":{"id":410,"keyType":{"id":407,"name":"uint256","nodeType":"ElementaryTypeName","src":"624:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"616:34:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Classification_$406_storage_$","typeString":"mapping(uint256 => struct ClassificationProposal.Classification)"},"valueType":{"id":409,"nodeType":"UserDefinedTypeName","pathNode":{"id":408,"name":"Classification","nodeType":"IdentifierPath","referencedDeclaration":406,"src":"635:14:3"},"referencedDeclaration":406,"src":"635:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"}}},"visibility":"public"},{"constant":false,"functionSelector":"85f25a00","id":414,"mutability":"mutable","name":"numberOfClassifications","nameLocation":"694:23:3","nodeType":"VariableDeclaration","scope":627,"src":"679:42:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":412,"name":"uint256","nodeType":"ElementaryTypeName","src":"679:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"720:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"body":{"id":496,"nodeType":"Block","src":"905:756:3","statements":[{"assignments":[433],"declarations":[{"constant":false,"id":433,"mutability":"mutable","name":"classification","nameLocation":"985:14:3","nodeType":"VariableDeclaration","scope":496,"src":"962:37:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"},"typeName":{"id":432,"nodeType":"UserDefinedTypeName","pathNode":{"id":431,"name":"Classification","nodeType":"IdentifierPath","referencedDeclaration":406,"src":"962:14:3"},"referencedDeclaration":406,"src":"962:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"}},"visibility":"internal"}],"id":437,"initialValue":{"baseExpression":{"id":434,"name":"classifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"1002:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Classification_$406_storage_$","typeString":"mapping(uint256 => struct ClassificationProposal.Classification storage ref)"}},"id":436,"indexExpression":{"id":435,"name":"numberOfClassifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"1018:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1002:40:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage","typeString":"struct ClassificationProposal.Classification storage ref"}},"nodeType":"VariableDeclarationStatement","src":"962:80:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":439,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1099:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":395,"src":"1099:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":441,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1125:5:3","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1125:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1099:41:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54686520646561646c696e652073686f756c642062652061206461746520696e2074686520667574757265","id":444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1142:45:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_cdbf0d34bba52c37cdad39ed7b038c6bba452acc7c71023f129a9b273b62b2aa","typeString":"literal_string \"The deadline should be a date in the future\""},"value":"The deadline should be a date in the future"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cdbf0d34bba52c37cdad39ed7b038c6bba452acc7c71023f129a9b273b62b2aa","typeString":"literal_string \"The deadline should be a date in the future\""}],"id":438,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1091:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1091:97:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"1091:97:3"},{"expression":{"id":451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":447,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1285:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":387,"src":"1285:20:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":450,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"1308:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1285:29:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":452,"nodeType":"ExpressionStatement","src":"1285:29:3"},{"expression":{"id":457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":453,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1324:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"title","nodeType":"MemberAccess","referencedDeclaration":389,"src":"1324:20:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":456,"name":"_title","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":418,"src":"1347:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1324:29:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":458,"nodeType":"ExpressionStatement","src":"1324:29:3"},{"expression":{"id":463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":459,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1363:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":461,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"description","nodeType":"MemberAccess","referencedDeclaration":391,"src":"1363:26:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":462,"name":"_description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":420,"src":"1392:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1363:41:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":464,"nodeType":"ExpressionStatement","src":"1363:41:3"},{"expression":{"id":469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":465,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1414:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":393,"src":"1414:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":468,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"1438:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1414:31:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":470,"nodeType":"ExpressionStatement","src":"1414:31:3"},{"expression":{"id":475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":471,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1455:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":395,"src":"1455:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":474,"name":"_deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":424,"src":"1481:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1455:35:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":476,"nodeType":"ExpressionStatement","src":"1455:35:3"},{"expression":{"id":481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":477,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1500:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"amountCollected","nodeType":"MemberAccess","referencedDeclaration":397,"src":"1500:30:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1533:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1500:34:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":482,"nodeType":"ExpressionStatement","src":"1500:34:3"},{"expression":{"id":487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":483,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"1544:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"image","nodeType":"MemberAccess","referencedDeclaration":399,"src":"1544:20:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":486,"name":"_image","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":426,"src":"1567:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1544:29:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":488,"nodeType":"ExpressionStatement","src":"1544:29:3"},{"expression":{"id":490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1584:25:3","subExpression":{"id":489,"name":"numberOfClassifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"1584:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":491,"nodeType":"ExpressionStatement","src":"1584:25:3"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":492,"name":"numberOfClassifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"1627:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1653:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1627:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":430,"id":495,"nodeType":"Return","src":"1620:34:3"}]},"functionSelector":"6ceae4d1","id":497,"implemented":true,"kind":"function","modifiers":[],"name":"createProposal","nameLocation":"741:14:3","nodeType":"FunctionDefinition","parameters":{"id":427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":416,"mutability":"mutable","name":"_owner","nameLocation":"764:6:3","nodeType":"VariableDeclaration","scope":497,"src":"756:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":415,"name":"address","nodeType":"ElementaryTypeName","src":"756:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":418,"mutability":"mutable","name":"_title","nameLocation":"786:6:3","nodeType":"VariableDeclaration","scope":497,"src":"772:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":417,"name":"string","nodeType":"ElementaryTypeName","src":"772:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":420,"mutability":"mutable","name":"_description","nameLocation":"808:12:3","nodeType":"VariableDeclaration","scope":497,"src":"794:26:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":419,"name":"string","nodeType":"ElementaryTypeName","src":"794:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":422,"mutability":"mutable","name":"_target","nameLocation":"830:7:3","nodeType":"VariableDeclaration","scope":497,"src":"822:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":421,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":424,"mutability":"mutable","name":"_deadline","nameLocation":"847:9:3","nodeType":"VariableDeclaration","scope":497,"src":"839:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":423,"name":"uint256","nodeType":"ElementaryTypeName","src":"839:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":426,"mutability":"mutable","name":"_image","nameLocation":"872:6:3","nodeType":"VariableDeclaration","scope":497,"src":"858:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":425,"name":"string","nodeType":"ElementaryTypeName","src":"858:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"755:124:3"},"returnParameters":{"id":430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":497,"src":"896:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":428,"name":"uint256","nodeType":"ElementaryTypeName","src":"896:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"895:9:3"},"scope":627,"src":"732:929:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":556,"nodeType":"Block","src":"1720:675:3","statements":[{"assignments":[503],"declarations":[{"constant":false,"id":503,"mutability":"mutable","name":"amount","nameLocation":"1808:6:3","nodeType":"VariableDeclaration","scope":556,"src":"1800:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":502,"name":"uint256","nodeType":"ElementaryTypeName","src":"1800:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":506,"initialValue":{"expression":{"id":504,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1817:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"1817:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1800:26:3"},{"assignments":[509],"declarations":[{"constant":false,"id":509,"mutability":"mutable","name":"classification","nameLocation":"1970:14:3","nodeType":"VariableDeclaration","scope":556,"src":"1947:37:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"},"typeName":{"id":508,"nodeType":"UserDefinedTypeName","pathNode":{"id":507,"name":"Classification","nodeType":"IdentifierPath","referencedDeclaration":406,"src":"1947:14:3"},"referencedDeclaration":406,"src":"1947:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"}},"visibility":"internal"}],"id":513,"initialValue":{"baseExpression":{"id":510,"name":"classifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"1987:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Classification_$406_storage_$","typeString":"mapping(uint256 => struct ClassificationProposal.Classification storage ref)"}},"id":512,"indexExpression":{"id":511,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":499,"src":"2003:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1987:20:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage","typeString":"struct ClassificationProposal.Classification storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1947:60:3"},{"expression":{"arguments":[{"expression":{"id":519,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2053:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"2053:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"id":514,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":509,"src":"2026:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voters","nodeType":"MemberAccess","referencedDeclaration":402,"src":"2026:21:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"2026:26:3","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2026:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":522,"nodeType":"ExpressionStatement","src":"2026:38:3"},{"expression":{"arguments":[{"id":528,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":503,"src":"2138:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":523,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":509,"src":"2112:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":405,"src":"2112:20:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"2112:25:3","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2112:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":530,"nodeType":"ExpressionStatement","src":"2112:33:3"},{"assignments":[532,null],"declarations":[{"constant":false,"id":532,"mutability":"mutable","name":"sent","nameLocation":"2210:4:3","nodeType":"VariableDeclaration","scope":556,"src":"2205:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":531,"name":"bool","nodeType":"ElementaryTypeName","src":"2205:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":543,"initialValue":{"arguments":[{"hexValue":"","id":541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2269:2:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":535,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":509,"src":"2227:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":536,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":387,"src":"2227:20:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2219:8:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":533,"name":"address","nodeType":"ElementaryTypeName","src":"2219:8:3","stateMutability":"payable","typeDescriptions":{}}},"id":537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2219:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2219:34:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":539,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":503,"src":"2261:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2219:49:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2219:53:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2204:68:3"},{"condition":{"id":544,"name":"sent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":532,"src":"2286:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":555,"nodeType":"IfStatement","src":"2282:107:3","trueBody":{"id":554,"nodeType":"Block","src":"2292:97:3","statements":[{"expression":{"id":552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":545,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":509,"src":"2306:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"amountCollected","nodeType":"MemberAccess","referencedDeclaration":397,"src":"2306:30:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":548,"name":"classification","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":509,"src":"2339:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"id":549,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"amountCollected","nodeType":"MemberAccess","referencedDeclaration":397,"src":"2339:30:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":550,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":503,"src":"2372:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2339:39:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2306:72:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":553,"nodeType":"ExpressionStatement","src":"2306:72:3"}]}}]},"functionSelector":"045c6ce0","id":557,"implemented":true,"kind":"function","modifiers":[],"name":"voteForProposal","nameLocation":"1676:15:3","nodeType":"FunctionDefinition","parameters":{"id":500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":499,"mutability":"mutable","name":"_id","nameLocation":"1700:3:3","nodeType":"VariableDeclaration","scope":557,"src":"1692:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":498,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1691:13:3"},"returnParameters":{"id":501,"nodeType":"ParameterList","parameters":[],"src":"1720:0:3"},"scope":627,"src":"1667:728:3","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":578,"nodeType":"Block","src":"2489:120:3","statements":[{"expression":{"components":[{"expression":{"baseExpression":{"id":568,"name":"classifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"2546:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Classification_$406_storage_$","typeString":"mapping(uint256 => struct ClassificationProposal.Classification storage ref)"}},"id":570,"indexExpression":{"id":569,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":559,"src":"2562:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2546:20:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage","typeString":"struct ClassificationProposal.Classification storage ref"}},"id":571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voters","nodeType":"MemberAccess","referencedDeclaration":402,"src":"2546:27:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},{"expression":{"baseExpression":{"id":572,"name":"classifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"2575:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Classification_$406_storage_$","typeString":"mapping(uint256 => struct ClassificationProposal.Classification storage ref)"}},"id":574,"indexExpression":{"id":573,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":559,"src":"2591:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2575:20:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage","typeString":"struct ClassificationProposal.Classification storage ref"}},"id":575,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":405,"src":"2575:26:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}}],"id":576,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2545:57:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_storage_$_t_array$_t_uint256_$dyn_storage_$","typeString":"tuple(address[] storage ref,uint256[] storage ref)"}},"functionReturnParameters":567,"id":577,"nodeType":"Return","src":"2538:64:3"}]},"functionSelector":"86b646f2","id":579,"implemented":true,"kind":"function","modifiers":[],"name":"getVoters","nameLocation":"2410:9:3","nodeType":"FunctionDefinition","parameters":{"id":560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":559,"mutability":"mutable","name":"_id","nameLocation":"2428:3:3","nodeType":"VariableDeclaration","scope":579,"src":"2420:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":558,"name":"uint256","nodeType":"ElementaryTypeName","src":"2420:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2419:13:3"},"returnParameters":{"id":567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":563,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":579,"src":"2453:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":561,"name":"address","nodeType":"ElementaryTypeName","src":"2453:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":562,"nodeType":"ArrayTypeName","src":"2453:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":579,"src":"2471:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":564,"name":"uint256","nodeType":"ElementaryTypeName","src":"2471:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":565,"nodeType":"ArrayTypeName","src":"2471:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2452:36:3"},"scope":627,"src":"2401:208:3","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":625,"nodeType":"Block","src":"2684:496:3","statements":[{"assignments":[590],"declarations":[{"constant":false,"id":590,"mutability":"mutable","name":"allClassifications","nameLocation":"2743:18:3","nodeType":"VariableDeclaration","scope":625,"src":"2719:42:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr","typeString":"struct ClassificationProposal.Classification[]"},"typeName":{"baseType":{"id":588,"nodeType":"UserDefinedTypeName","pathNode":{"id":587,"name":"Classification","nodeType":"IdentifierPath","referencedDeclaration":406,"src":"2719:14:3"},"referencedDeclaration":406,"src":"2719:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"}},"id":589,"nodeType":"ArrayTypeName","src":"2719:16:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_storage_$dyn_storage_ptr","typeString":"struct ClassificationProposal.Classification[]"}},"visibility":"internal"}],"id":597,"initialValue":{"arguments":[{"id":595,"name":"numberOfClassifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"2785:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2764:20:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct ClassificationProposal.Classification memory[] memory)"},"typeName":{"baseType":{"id":592,"nodeType":"UserDefinedTypeName","pathNode":{"id":591,"name":"Classification","nodeType":"IdentifierPath","referencedDeclaration":406,"src":"2768:14:3"},"referencedDeclaration":406,"src":"2768:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"}},"id":593,"nodeType":"ArrayTypeName","src":"2768:16:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_storage_$dyn_storage_ptr","typeString":"struct ClassificationProposal.Classification[]"}}},"id":596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2764:45:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr","typeString":"struct ClassificationProposal.Classification memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2719:90:3"},{"body":{"id":621,"nodeType":"Block","src":"2944:194:3","statements":[{"assignments":[610],"declarations":[{"constant":false,"id":610,"mutability":"mutable","name":"item","nameLocation":"2981:4:3","nodeType":"VariableDeclaration","scope":621,"src":"2958:27:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"},"typeName":{"id":609,"nodeType":"UserDefinedTypeName","pathNode":{"id":608,"name":"Classification","nodeType":"IdentifierPath","referencedDeclaration":406,"src":"2958:14:3"},"referencedDeclaration":406,"src":"2958:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"}},"visibility":"internal"}],"id":614,"initialValue":{"baseExpression":{"id":611,"name":"classifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"2988:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Classification_$406_storage_$","typeString":"mapping(uint256 => struct ClassificationProposal.Classification storage ref)"}},"id":613,"indexExpression":{"id":612,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"3004:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2988:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage","typeString":"struct ClassificationProposal.Classification storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2958:48:3"},{"expression":{"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":615,"name":"allClassifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":590,"src":"3020:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr","typeString":"struct ClassificationProposal.Classification memory[] memory"}},"id":617,"indexExpression":{"id":616,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"3039:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3020:21:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_memory_ptr","typeString":"struct ClassificationProposal.Classification memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":618,"name":"item","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":610,"src":"3044:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification storage pointer"}},"src":"3020:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_memory_ptr","typeString":"struct ClassificationProposal.Classification memory"}},"id":620,"nodeType":"ExpressionStatement","src":"3020:28:3"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":602,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"2910:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":603,"name":"numberOfClassifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"2914:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2910:27:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":622,"initializationExpression":{"assignments":[599],"declarations":[{"constant":false,"id":599,"mutability":"mutable","name":"i","nameLocation":"2903:1:3","nodeType":"VariableDeclaration","scope":622,"src":"2898:6:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":598,"name":"uint","nodeType":"ElementaryTypeName","src":"2898:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":601,"initialValue":{"hexValue":"30","id":600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2907:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2898:10:3"},"loopExpression":{"expression":{"id":606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2939:3:3","subExpression":{"id":605,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"2939:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ExpressionStatement","src":"2939:3:3"},"nodeType":"ForStatement","src":"2893:245:3"},{"expression":{"id":623,"name":"allClassifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":590,"src":"3155:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr","typeString":"struct ClassificationProposal.Classification memory[] memory"}},"functionReturnParameters":585,"id":624,"nodeType":"Return","src":"3148:25:3"}]},"functionSelector":"62564c48","id":626,"implemented":true,"kind":"function","modifiers":[],"name":"getProposals","nameLocation":"2624:12:3","nodeType":"FunctionDefinition","parameters":{"id":580,"nodeType":"ParameterList","parameters":[],"src":"2636:2:3"},"returnParameters":{"id":585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":626,"src":"2659:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr","typeString":"struct ClassificationProposal.Classification[]"},"typeName":{"baseType":{"id":582,"nodeType":"UserDefinedTypeName","pathNode":{"id":581,"name":"Classification","nodeType":"IdentifierPath","referencedDeclaration":406,"src":"2659:14:3"},"referencedDeclaration":406,"src":"2659:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_Classification_$406_storage_ptr","typeString":"struct ClassificationProposal.Classification"}},"id":583,"nodeType":"ArrayTypeName","src":"2659:16:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Classification_$406_storage_$dyn_storage_ptr","typeString":"struct ClassificationProposal.Classification[]"}},"visibility":"internal"}],"src":"2658:25:3"},"scope":627,"src":"2615:565:3","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":628,"src":"65:3117:3","usedErrors":[]}],"src":"39:3143:3"},"id":3}},"contracts":{"contracts/interface/IPermissions.sol":{"IPermissions":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interface/IPermissions.sol\":\"IPermissions\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interface/IPermissions.sol\":{\"keccak256\":\"0x6af4bf1b709993341c15fb72d3570a4273e88fad9b79ef0bfbdc008d0b3863f6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c4b6de273ab2b2dd51d0b4308d164c5a415c92b28eff2c5ddd534a1f24b52c60\",\"dweb:/ipfs/QmYfnxfCRYKMT2voRpKTcbj6phC5amxL3Cs6UB2draaEnt\"]}},\"version\":1}"}},"contracts/lib/TWStrings.sol":{"TWStrings":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d14082091a3b7848fda3dae1b8091d26c7dff802a07557a8932dea7ab4dba9764736f6c634300080b0033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5D EQ ADDMOD KECCAK256 SWAP2 LOG3 0xB7 DUP5 DUP16 0xDA RETURNDATASIZE 0xAE SHL DUP1 SWAP2 0xD2 PUSH13 0x7DFF802A07557A8932DEA7AB4D 0xBA SWAP8 PUSH5 0x736F6C6343 STOP ADDMOD SIGNEXTEND STOP CALLER ","sourceMap":"146:1887:1:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;146:1887:1;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d14082091a3b7848fda3dae1b8091d26c7dff802a07557a8932dea7ab4dba9764736f6c634300080b0033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5D EQ ADDMOD KECCAK256 SWAP2 LOG3 0xB7 DUP5 DUP16 0xDA RETURNDATASIZE 0xAE SHL DUP1 SWAP2 0xD2 PUSH13 0x7DFF802A07557A8932DEA7AB4D 0xBA SWAP8 PUSH5 0x736F6C6343 STOP ADDMOD SIGNEXTEND STOP CALLER ","sourceMap":"146:1887:1:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/lib/TWStrings.sol\":\"TWStrings\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/lib/TWStrings.sol\":{\"keccak256\":\"0xb6b8ac7c175ae5a7c058301bb58825559b6a1054f4aa2be028c3e0e0be533fb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64be6ce0a0656e250547f9b924db977b46aa2dac7821db688aae66c97cce86ab\",\"dweb:/ipfs/QmZFfxoEX9gcvcuVoj55ovCBwKjv5cz9YTuDeGif6iVP1N\"]}},\"version\":1}"}},"contracts/planetProposal.sol":{"PlanetProposal":{"abi":[{"inputs":[{"internalType":"string","name":"_question","type":"string"}],"name":"createProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalIndex","type":"uint256"}],"name":"getProposalResult","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"string","name":"question","type":"string"},{"internalType":"uint256","name":"yesVotes","type":"uint256"},{"internalType":"uint256","name":"noVotes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_proposalIndex","type":"uint256"},{"internalType":"bool","name":"_voteYes","type":"bool"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610752806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063013cf08b1461005c578063438596321461008757806349c2a1a6146100c5578063c9d27afe146100da578063f91f88f7146100ed575b600080fd5b61006f61006a3660046104fb565b610100565b60405161007e93929190610514565b60405180910390f35b6100b5610095366004610578565b600160209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161007e565b6100d86100d33660046105ca565b6101c2565b005b6100d86100e836600461067b565b61023f565b61006f6100fb3660046104fb565b610356565b6000818154811061011057600080fd5b9060005260206000209060030201600091509050806000018054610133906106a5565b80601f016020809104026020016040519081016040528092919081815260200182805461015f906106a5565b80156101ac5780601f10610181576101008083540402835291602001916101ac565b820191906000526020600020905b81548152906001019060200180831161018f57829003601f168201915b5050505050908060010154908060020154905083565b6040805160608101825282815260006020808301829052928201819052805460018101825590805281518051929360039092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301926102259284920190610462565b506020820151816001015560408201518160020155505050565b600082815260016020908152604080832033845290915290205460ff16156102ad5760405162461bcd60e51b815260206004820152601760248201527f596f75206861766520616c726561647920766f7465642e000000000000000000604482015260640160405180910390fd5b80156102f3576001600083815481106102c8576102c86106e0565b906000526020600020906003020160010160008282546102e891906106f6565b9091555061032e9050565b600160008381548110610308576103086106e0565b9060005260206000209060030201600201600082825461032891906106f6565b90915550505b506000908152600160208181526040808420338552909152909120805460ff19169091179055565b60606000806000848154811061036e5761036e6106e0565b906000526020600020906003020160000160008581548110610392576103926106e0565b906000526020600020906003020160010154600086815481106103b7576103b76106e0565b9060005260206000209060030201600201548280546103d5906106a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610401906106a5565b801561044e5780601f106104235761010080835404028352916020019161044e565b820191906000526020600020905b81548152906001019060200180831161043157829003601f168201915b505050505092509250925092509193909250565b82805461046e906106a5565b90600052602060002090601f01602090048101928261049057600085556104d6565b82601f106104a957805160ff19168380011785556104d6565b828001600101855582156104d6579182015b828111156104d65782518255916020019190600101906104bb565b506104e29291506104e6565b5090565b5b808211156104e257600081556001016104e7565b60006020828403121561050d57600080fd5b5035919050565b606081526000845180606084015260005b818110156105425760208188018101516080868401015201610525565b81811115610554576000608083860101525b5060208301949094525060408101919091526080601f909201601f19160101919050565b6000806040838503121561058b57600080fd5b8235915060208301356001600160a01b03811681146105a957600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105dc57600080fd5b813567ffffffffffffffff808211156105f457600080fd5b818401915084601f83011261060857600080fd5b81358181111561061a5761061a6105b4565b604051601f8201601f19908116603f01168101908382118183101715610642576106426105b4565b8160405282815287602084870101111561065b57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561068e57600080fd5b82359150602083013580151581146105a957600080fd5b600181811c908216806106b957607f821691505b602082108114156106da57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000821982111561071757634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220063bfb73a84fe082d46807b09b67fd218028f23058ce185d00b55e5bac5174bd64736f6c634300080b0033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x752 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13CF08B EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x49C2A1A6 EQ PUSH2 0xC5 JUMPI DUP1 PUSH4 0xC9D27AFE EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0xF91F88F7 EQ PUSH2 0xED JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x6A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x100 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x514 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH2 0x95 CALLDATASIZE PUSH1 0x4 PUSH2 0x578 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7E JUMP JUMPDEST PUSH2 0xD8 PUSH2 0xD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x5CA JUMP JUMPDEST PUSH2 0x1C2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD8 PUSH2 0xE8 CALLDATASIZE PUSH1 0x4 PUSH2 0x67B JUMP JUMPDEST PUSH2 0x23F JUMP JUMPDEST PUSH2 0x6F PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x356 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x110 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x133 SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15F SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1AC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x181 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1AC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x18F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE SWAP3 DUP3 ADD DUP2 SWAP1 MSTORE DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP1 MSTORE DUP2 MLOAD DUP1 MLOAD SWAP3 SWAP4 PUSH1 0x3 SWAP1 SWAP3 MUL PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 ADD SWAP3 PUSH2 0x225 SWAP3 DUP5 SWAP3 ADD SWAP1 PUSH2 0x462 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F75206861766520616C726561647920766F7465642E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 ISZERO PUSH2 0x2F3 JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x2C8 JUMPI PUSH2 0x2C8 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2E8 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x32E SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x308 JUMPI PUSH2 0x308 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x36E JUMPI PUSH2 0x36E PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD PUSH1 0x0 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x392 JUMPI PUSH2 0x392 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD PUSH1 0x0 DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x3B7 JUMPI PUSH2 0x3B7 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD DUP3 DUP1 SLOAD PUSH2 0x3D5 SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x401 SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x44E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x423 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x44E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x431 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x46E SWAP1 PUSH2 0x6A5 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x490 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x4D6 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x4A9 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x4D6 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x4D6 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x4D6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4BB JUMP JUMPDEST POP PUSH2 0x4E2 SWAP3 SWAP2 POP PUSH2 0x4E6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4E2 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4E7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 DUP5 MLOAD DUP1 PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x542 JUMPI PUSH1 0x20 DUP2 DUP9 ADD DUP2 ADD MLOAD PUSH1 0x80 DUP7 DUP5 ADD ADD MSTORE ADD PUSH2 0x525 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x554 JUMPI PUSH1 0x0 PUSH1 0x80 DUP4 DUP7 ADD ADD MSTORE JUMPDEST POP PUSH1 0x20 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x40 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x80 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x58B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x608 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x61A JUMPI PUSH2 0x61A PUSH2 0x5B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x642 JUMPI PUSH2 0x642 PUSH2 0x5B4 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x65B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD PUSH1 0x20 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x68E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x6B9 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6DA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x717 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MOD EXTCODESIZE 0xFB PUSH20 0xA84FE082D46807B09B67FD218028F23058CE185D STOP 0xB5 0x5E JUMPDEST 0xAC MLOAD PUSH21 0xBD64736F6C634300080B0033000000000000000000 ","sourceMap":"64:1083:2:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@createProposal_310":{"entryPoint":450,"id":310,"parameterSlots":1,"returnSlots":0},"@getProposalResult_382":{"entryPoint":854,"id":382,"parameterSlots":1,"returnSlots":3},"@hasVoted_294":{"entryPoint":null,"id":294,"parameterSlots":0,"returnSlots":0},"@proposals_288":{"entryPoint":256,"id":288,"parameterSlots":0,"returnSlots":0},"@vote_356":{"entryPoint":575,"id":356,"parameterSlots":2,"returnSlots":0},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":1482,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":1275,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":1400,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_bool":{"entryPoint":1659,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":1300,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1814df8007c14967d1dedfd016a222fa9f9d3d95d881e38c6e569314cca84863__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1782,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":1701,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x32":{"entryPoint":1760,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":1460,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3983:4","statements":[{"nodeType":"YulBlock","src":"6:3:4","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:4","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:4"},"nodeType":"YulFunctionCall","src":"132:12:4"},"nodeType":"YulExpressionStatement","src":"132:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:4"},"nodeType":"YulFunctionCall","src":"101:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:4"},"nodeType":"YulFunctionCall","src":"97:32:4"},"nodeType":"YulIf","src":"94:52:4"},{"nodeType":"YulAssignment","src":"155:33:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:4"},"nodeType":"YulFunctionCall","src":"165:23:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:4"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:4","type":""}],"src":"14:180:4"},{"body":{"nodeType":"YulBlock","src":"376:550:4","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"393:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"404:2:4","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"386:6:4"},"nodeType":"YulFunctionCall","src":"386:21:4"},"nodeType":"YulExpressionStatement","src":"386:21:4"},{"nodeType":"YulVariableDeclaration","src":"416:27:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"436:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"430:5:4"},"nodeType":"YulFunctionCall","src":"430:13:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"420:6:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"463:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"474:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"459:3:4"},"nodeType":"YulFunctionCall","src":"459:18:4"},{"name":"length","nodeType":"YulIdentifier","src":"479:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"452:6:4"},"nodeType":"YulFunctionCall","src":"452:34:4"},"nodeType":"YulExpressionStatement","src":"452:34:4"},{"nodeType":"YulVariableDeclaration","src":"495:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"504:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"499:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"566:93:4","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"595:9:4"},{"name":"i","nodeType":"YulIdentifier","src":"606:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"591:3:4"},"nodeType":"YulFunctionCall","src":"591:17:4"},{"kind":"number","nodeType":"YulLiteral","src":"610:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"587:3:4"},"nodeType":"YulFunctionCall","src":"587:27:4"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"630:6:4"},{"name":"i","nodeType":"YulIdentifier","src":"638:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"626:3:4"},"nodeType":"YulFunctionCall","src":"626:14:4"},{"kind":"number","nodeType":"YulLiteral","src":"642:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"622:3:4"},"nodeType":"YulFunctionCall","src":"622:25:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"616:5:4"},"nodeType":"YulFunctionCall","src":"616:32:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"580:6:4"},"nodeType":"YulFunctionCall","src":"580:69:4"},"nodeType":"YulExpressionStatement","src":"580:69:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"525:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"528:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"522:2:4"},"nodeType":"YulFunctionCall","src":"522:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"536:21:4","statements":[{"nodeType":"YulAssignment","src":"538:17:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"547:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"550:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"543:3:4"},"nodeType":"YulFunctionCall","src":"543:12:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"538:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"518:3:4","statements":[]},"src":"514:145:4"},{"body":{"nodeType":"YulBlock","src":"693:67:4","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"722:9:4"},{"name":"length","nodeType":"YulIdentifier","src":"733:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"718:3:4"},"nodeType":"YulFunctionCall","src":"718:22:4"},{"kind":"number","nodeType":"YulLiteral","src":"742:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"714:3:4"},"nodeType":"YulFunctionCall","src":"714:32:4"},{"kind":"number","nodeType":"YulLiteral","src":"748:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"707:6:4"},"nodeType":"YulFunctionCall","src":"707:43:4"},"nodeType":"YulExpressionStatement","src":"707:43:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"674:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"677:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"671:2:4"},"nodeType":"YulFunctionCall","src":"671:13:4"},"nodeType":"YulIf","src":"668:92:4"},{"nodeType":"YulAssignment","src":"769:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"785:9:4"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"804:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"812:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"800:3:4"},"nodeType":"YulFunctionCall","src":"800:15:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"821:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"817:3:4"},"nodeType":"YulFunctionCall","src":"817:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"796:3:4"},"nodeType":"YulFunctionCall","src":"796:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"781:3:4"},"nodeType":"YulFunctionCall","src":"781:45:4"},{"kind":"number","nodeType":"YulLiteral","src":"828:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:4"},"nodeType":"YulFunctionCall","src":"777:55:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"769:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"852:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"863:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"848:3:4"},"nodeType":"YulFunctionCall","src":"848:20:4"},{"name":"value1","nodeType":"YulIdentifier","src":"870:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"841:6:4"},"nodeType":"YulFunctionCall","src":"841:36:4"},"nodeType":"YulExpressionStatement","src":"841:36:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"897:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"908:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"893:3:4"},"nodeType":"YulFunctionCall","src":"893:18:4"},{"name":"value2","nodeType":"YulIdentifier","src":"913:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"886:6:4"},"nodeType":"YulFunctionCall","src":"886:34:4"},"nodeType":"YulExpressionStatement","src":"886:34:4"}]},"name":"abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"329:9:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"340:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"348:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"356:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"367:4:4","type":""}],"src":"199:727:4"},{"body":{"nodeType":"YulBlock","src":"1018:267:4","statements":[{"body":{"nodeType":"YulBlock","src":"1064:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1073:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1076:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1066:6:4"},"nodeType":"YulFunctionCall","src":"1066:12:4"},"nodeType":"YulExpressionStatement","src":"1066:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1039:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1048:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1035:3:4"},"nodeType":"YulFunctionCall","src":"1035:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1060:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1031:3:4"},"nodeType":"YulFunctionCall","src":"1031:32:4"},"nodeType":"YulIf","src":"1028:52:4"},{"nodeType":"YulAssignment","src":"1089:33:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1112:9:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1099:12:4"},"nodeType":"YulFunctionCall","src":"1099:23:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1089:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"1131:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1161:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"1172:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1157:3:4"},"nodeType":"YulFunctionCall","src":"1157:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1144:12:4"},"nodeType":"YulFunctionCall","src":"1144:32:4"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1135:5:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"1239:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1248:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1251:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1241:6:4"},"nodeType":"YulFunctionCall","src":"1241:12:4"},"nodeType":"YulExpressionStatement","src":"1241:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1198:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1209:5:4"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1224:3:4","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1229:1:4","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1220:3:4"},"nodeType":"YulFunctionCall","src":"1220:11:4"},{"kind":"number","nodeType":"YulLiteral","src":"1233:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1216:3:4"},"nodeType":"YulFunctionCall","src":"1216:19:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1205:3:4"},"nodeType":"YulFunctionCall","src":"1205:31:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1195:2:4"},"nodeType":"YulFunctionCall","src":"1195:42:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1188:6:4"},"nodeType":"YulFunctionCall","src":"1188:50:4"},"nodeType":"YulIf","src":"1185:70:4"},{"nodeType":"YulAssignment","src":"1264:15:4","value":{"name":"value","nodeType":"YulIdentifier","src":"1274:5:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1264:6:4"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"976:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"987:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"999:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1007:6:4","type":""}],"src":"931:354:4"},{"body":{"nodeType":"YulBlock","src":"1385:92:4","statements":[{"nodeType":"YulAssignment","src":"1395:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1407:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"1418:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1403:3:4"},"nodeType":"YulFunctionCall","src":"1403:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1395:4:4"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1437:9:4"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1462:6:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1455:6:4"},"nodeType":"YulFunctionCall","src":"1455:14:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1448:6:4"},"nodeType":"YulFunctionCall","src":"1448:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1430:6:4"},"nodeType":"YulFunctionCall","src":"1430:41:4"},"nodeType":"YulExpressionStatement","src":"1430:41:4"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1354:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1365:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1376:4:4","type":""}],"src":"1290:187:4"},{"body":{"nodeType":"YulBlock","src":"1514:95:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1531:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1538:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1543:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1534:3:4"},"nodeType":"YulFunctionCall","src":"1534:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1524:6:4"},"nodeType":"YulFunctionCall","src":"1524:31:4"},"nodeType":"YulExpressionStatement","src":"1524:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1571:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1574:4:4","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1564:6:4"},"nodeType":"YulFunctionCall","src":"1564:15:4"},"nodeType":"YulExpressionStatement","src":"1564:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1595:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1598:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1588:6:4"},"nodeType":"YulFunctionCall","src":"1588:15:4"},"nodeType":"YulExpressionStatement","src":"1588:15:4"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1482:127:4"},{"body":{"nodeType":"YulBlock","src":"1694:842:4","statements":[{"body":{"nodeType":"YulBlock","src":"1740:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1749:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1752:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1742:6:4"},"nodeType":"YulFunctionCall","src":"1742:12:4"},"nodeType":"YulExpressionStatement","src":"1742:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1715:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1724:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1711:3:4"},"nodeType":"YulFunctionCall","src":"1711:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1736:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1707:3:4"},"nodeType":"YulFunctionCall","src":"1707:32:4"},"nodeType":"YulIf","src":"1704:52:4"},{"nodeType":"YulVariableDeclaration","src":"1765:37:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1792:9:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1779:12:4"},"nodeType":"YulFunctionCall","src":"1779:23:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1769:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1811:28:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1821:18:4","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1815:2:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"1866:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1875:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1878:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1868:6:4"},"nodeType":"YulFunctionCall","src":"1868:12:4"},"nodeType":"YulExpressionStatement","src":"1868:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1854:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1862:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1851:2:4"},"nodeType":"YulFunctionCall","src":"1851:14:4"},"nodeType":"YulIf","src":"1848:34:4"},{"nodeType":"YulVariableDeclaration","src":"1891:32:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1905:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1916:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1901:3:4"},"nodeType":"YulFunctionCall","src":"1901:22:4"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1895:2:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"1971:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1980:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1983:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1973:6:4"},"nodeType":"YulFunctionCall","src":"1973:12:4"},"nodeType":"YulExpressionStatement","src":"1973:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1950:2:4"},{"kind":"number","nodeType":"YulLiteral","src":"1954:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1946:3:4"},"nodeType":"YulFunctionCall","src":"1946:13:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1961:7:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1942:3:4"},"nodeType":"YulFunctionCall","src":"1942:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1935:6:4"},"nodeType":"YulFunctionCall","src":"1935:35:4"},"nodeType":"YulIf","src":"1932:55:4"},{"nodeType":"YulVariableDeclaration","src":"1996:26:4","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2019:2:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2006:12:4"},"nodeType":"YulFunctionCall","src":"2006:16:4"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2000:2:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"2045:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2047:16:4"},"nodeType":"YulFunctionCall","src":"2047:18:4"},"nodeType":"YulExpressionStatement","src":"2047:18:4"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2037:2:4"},{"name":"_1","nodeType":"YulIdentifier","src":"2041:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2034:2:4"},"nodeType":"YulFunctionCall","src":"2034:10:4"},"nodeType":"YulIf","src":"2031:36:4"},{"nodeType":"YulVariableDeclaration","src":"2076:17:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2090:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2086:3:4"},"nodeType":"YulFunctionCall","src":"2086:7:4"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2080:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2102:23:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2122:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2116:5:4"},"nodeType":"YulFunctionCall","src":"2116:9:4"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2106:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2134:71:4","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2156:6:4"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2180:2:4"},{"kind":"number","nodeType":"YulLiteral","src":"2184:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2176:3:4"},"nodeType":"YulFunctionCall","src":"2176:13:4"},{"name":"_4","nodeType":"YulIdentifier","src":"2191:2:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2172:3:4"},"nodeType":"YulFunctionCall","src":"2172:22:4"},{"kind":"number","nodeType":"YulLiteral","src":"2196:2:4","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2168:3:4"},"nodeType":"YulFunctionCall","src":"2168:31:4"},{"name":"_4","nodeType":"YulIdentifier","src":"2201:2:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2164:3:4"},"nodeType":"YulFunctionCall","src":"2164:40:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2152:3:4"},"nodeType":"YulFunctionCall","src":"2152:53:4"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2138:10:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"2264:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2266:16:4"},"nodeType":"YulFunctionCall","src":"2266:18:4"},"nodeType":"YulExpressionStatement","src":"2266:18:4"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2223:10:4"},{"name":"_1","nodeType":"YulIdentifier","src":"2235:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2220:2:4"},"nodeType":"YulFunctionCall","src":"2220:18:4"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2243:10:4"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2255:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2240:2:4"},"nodeType":"YulFunctionCall","src":"2240:22:4"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2217:2:4"},"nodeType":"YulFunctionCall","src":"2217:46:4"},"nodeType":"YulIf","src":"2214:72:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2302:2:4","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2306:10:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2295:6:4"},"nodeType":"YulFunctionCall","src":"2295:22:4"},"nodeType":"YulExpressionStatement","src":"2295:22:4"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2333:6:4"},{"name":"_3","nodeType":"YulIdentifier","src":"2341:2:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2326:6:4"},"nodeType":"YulFunctionCall","src":"2326:18:4"},"nodeType":"YulExpressionStatement","src":"2326:18:4"},{"body":{"nodeType":"YulBlock","src":"2390:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2399:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2402:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2392:6:4"},"nodeType":"YulFunctionCall","src":"2392:12:4"},"nodeType":"YulExpressionStatement","src":"2392:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2367:2:4"},{"name":"_3","nodeType":"YulIdentifier","src":"2371:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2363:3:4"},"nodeType":"YulFunctionCall","src":"2363:11:4"},{"kind":"number","nodeType":"YulLiteral","src":"2376:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2359:3:4"},"nodeType":"YulFunctionCall","src":"2359:20:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2381:7:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2356:2:4"},"nodeType":"YulFunctionCall","src":"2356:33:4"},"nodeType":"YulIf","src":"2353:53:4"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2432:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"2440:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2428:3:4"},"nodeType":"YulFunctionCall","src":"2428:15:4"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2449:2:4"},{"kind":"number","nodeType":"YulLiteral","src":"2453:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2445:3:4"},"nodeType":"YulFunctionCall","src":"2445:11:4"},{"name":"_3","nodeType":"YulIdentifier","src":"2458:2:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2415:12:4"},"nodeType":"YulFunctionCall","src":"2415:46:4"},"nodeType":"YulExpressionStatement","src":"2415:46:4"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2485:6:4"},{"name":"_3","nodeType":"YulIdentifier","src":"2493:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2481:3:4"},"nodeType":"YulFunctionCall","src":"2481:15:4"},{"kind":"number","nodeType":"YulLiteral","src":"2498:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2477:3:4"},"nodeType":"YulFunctionCall","src":"2477:24:4"},{"kind":"number","nodeType":"YulLiteral","src":"2503:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2470:6:4"},"nodeType":"YulFunctionCall","src":"2470:35:4"},"nodeType":"YulExpressionStatement","src":"2470:35:4"},{"nodeType":"YulAssignment","src":"2514:16:4","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2524:6:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2514:6:4"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1660:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1671:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1683:6:4","type":""}],"src":"1614:922:4"},{"body":{"nodeType":"YulBlock","src":"2625:257:4","statements":[{"body":{"nodeType":"YulBlock","src":"2671:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2680:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2683:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2673:6:4"},"nodeType":"YulFunctionCall","src":"2673:12:4"},"nodeType":"YulExpressionStatement","src":"2673:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2646:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2655:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2642:3:4"},"nodeType":"YulFunctionCall","src":"2642:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2667:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2638:3:4"},"nodeType":"YulFunctionCall","src":"2638:32:4"},"nodeType":"YulIf","src":"2635:52:4"},{"nodeType":"YulAssignment","src":"2696:33:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2719:9:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2706:12:4"},"nodeType":"YulFunctionCall","src":"2706:23:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2696:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"2738:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2768:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2779:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2764:3:4"},"nodeType":"YulFunctionCall","src":"2764:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2751:12:4"},"nodeType":"YulFunctionCall","src":"2751:32:4"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2742:5:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"2836:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2845:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2848:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2838:6:4"},"nodeType":"YulFunctionCall","src":"2838:12:4"},"nodeType":"YulExpressionStatement","src":"2838:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2805:5:4"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2826:5:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2819:6:4"},"nodeType":"YulFunctionCall","src":"2819:13:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2812:6:4"},"nodeType":"YulFunctionCall","src":"2812:21:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2802:2:4"},"nodeType":"YulFunctionCall","src":"2802:32:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2795:6:4"},"nodeType":"YulFunctionCall","src":"2795:40:4"},"nodeType":"YulIf","src":"2792:60:4"},{"nodeType":"YulAssignment","src":"2861:15:4","value":{"name":"value","nodeType":"YulIdentifier","src":"2871:5:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2861:6:4"}]}]},"name":"abi_decode_tuple_t_uint256t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2583:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2594:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2606:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2614:6:4","type":""}],"src":"2541:341:4"},{"body":{"nodeType":"YulBlock","src":"2942:325:4","statements":[{"nodeType":"YulAssignment","src":"2952:22:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2966:1:4","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"2969:4:4"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2962:3:4"},"nodeType":"YulFunctionCall","src":"2962:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2952:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"2983:38:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"3013:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"3019:1:4","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3009:3:4"},"nodeType":"YulFunctionCall","src":"3009:12:4"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"2987:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"3060:31:4","statements":[{"nodeType":"YulAssignment","src":"3062:27:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3076:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3084:4:4","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3072:3:4"},"nodeType":"YulFunctionCall","src":"3072:17:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3062:6:4"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"3040:18:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3033:6:4"},"nodeType":"YulFunctionCall","src":"3033:26:4"},"nodeType":"YulIf","src":"3030:61:4"},{"body":{"nodeType":"YulBlock","src":"3150:111:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3171:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3178:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3183:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3174:3:4"},"nodeType":"YulFunctionCall","src":"3174:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3164:6:4"},"nodeType":"YulFunctionCall","src":"3164:31:4"},"nodeType":"YulExpressionStatement","src":"3164:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3215:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3218:4:4","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3208:6:4"},"nodeType":"YulFunctionCall","src":"3208:15:4"},"nodeType":"YulExpressionStatement","src":"3208:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3243:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3246:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3236:6:4"},"nodeType":"YulFunctionCall","src":"3236:15:4"},"nodeType":"YulExpressionStatement","src":"3236:15:4"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"3106:18:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3129:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3137:2:4","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3126:2:4"},"nodeType":"YulFunctionCall","src":"3126:14:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3103:2:4"},"nodeType":"YulFunctionCall","src":"3103:38:4"},"nodeType":"YulIf","src":"3100:161:4"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2922:4:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"2931:6:4","type":""}],"src":"2887:380:4"},{"body":{"nodeType":"YulBlock","src":"3446:173:4","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3463:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3474:2:4","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3456:6:4"},"nodeType":"YulFunctionCall","src":"3456:21:4"},"nodeType":"YulExpressionStatement","src":"3456:21:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3497:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3508:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3493:3:4"},"nodeType":"YulFunctionCall","src":"3493:18:4"},{"kind":"number","nodeType":"YulLiteral","src":"3513:2:4","type":"","value":"23"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3486:6:4"},"nodeType":"YulFunctionCall","src":"3486:30:4"},"nodeType":"YulExpressionStatement","src":"3486:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3536:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3547:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3532:3:4"},"nodeType":"YulFunctionCall","src":"3532:18:4"},{"hexValue":"596f75206861766520616c726561647920766f7465642e","kind":"string","nodeType":"YulLiteral","src":"3552:25:4","type":"","value":"You have already voted."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3525:6:4"},"nodeType":"YulFunctionCall","src":"3525:53:4"},"nodeType":"YulExpressionStatement","src":"3525:53:4"},{"nodeType":"YulAssignment","src":"3587:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3599:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3610:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3595:3:4"},"nodeType":"YulFunctionCall","src":"3595:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3587:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_1814df8007c14967d1dedfd016a222fa9f9d3d95d881e38c6e569314cca84863__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3423:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3437:4:4","type":""}],"src":"3272:347:4"},{"body":{"nodeType":"YulBlock","src":"3656:95:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3673:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3680:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3685:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3676:3:4"},"nodeType":"YulFunctionCall","src":"3676:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3666:6:4"},"nodeType":"YulFunctionCall","src":"3666:31:4"},"nodeType":"YulExpressionStatement","src":"3666:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3713:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3716:4:4","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3706:6:4"},"nodeType":"YulFunctionCall","src":"3706:15:4"},"nodeType":"YulExpressionStatement","src":"3706:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3737:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3740:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3730:6:4"},"nodeType":"YulFunctionCall","src":"3730:15:4"},"nodeType":"YulExpressionStatement","src":"3730:15:4"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"3624:127:4"},{"body":{"nodeType":"YulBlock","src":"3804:177:4","statements":[{"body":{"nodeType":"YulBlock","src":"3839:111:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3860:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3867:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3872:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3863:3:4"},"nodeType":"YulFunctionCall","src":"3863:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3853:6:4"},"nodeType":"YulFunctionCall","src":"3853:31:4"},"nodeType":"YulExpressionStatement","src":"3853:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3904:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3907:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3897:6:4"},"nodeType":"YulFunctionCall","src":"3897:15:4"},"nodeType":"YulExpressionStatement","src":"3897:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3932:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3935:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3925:6:4"},"nodeType":"YulFunctionCall","src":"3925:15:4"},"nodeType":"YulExpressionStatement","src":"3925:15:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3820:1:4"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"3827:1:4"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3823:3:4"},"nodeType":"YulFunctionCall","src":"3823:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3817:2:4"},"nodeType":"YulFunctionCall","src":"3817:13:4"},"nodeType":"YulIf","src":"3814:136:4"},{"nodeType":"YulAssignment","src":"3959:16:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3970:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"3973:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3966:3:4"},"nodeType":"YulFunctionCall","src":"3966:9:4"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"3959:3:4"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3787:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"3790:1:4","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"3796:3:4","type":""}],"src":"3756:225:4"}]},"contents":"{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_string_memory_ptr_t_uint256_t_uint256__to_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let length := mload(value0)\n mstore(add(headStart, 96), length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n mstore(add(add(headStart, i), 128), mload(add(add(value0, i), 0x20)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 128), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 128)\n mstore(add(headStart, 0x20), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value0 := memPtr\n }\n function abi_decode_tuple_t_uint256t_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_1814df8007c14967d1dedfd016a222fa9f9d3d95d881e38c6e569314cca84863__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"You have already voted.\")\n tail := add(headStart, 96)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n}","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100575760003560e01c8063013cf08b1461005c578063438596321461008757806349c2a1a6146100c5578063c9d27afe146100da578063f91f88f7146100ed575b600080fd5b61006f61006a3660046104fb565b610100565b60405161007e93929190610514565b60405180910390f35b6100b5610095366004610578565b600160209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161007e565b6100d86100d33660046105ca565b6101c2565b005b6100d86100e836600461067b565b61023f565b61006f6100fb3660046104fb565b610356565b6000818154811061011057600080fd5b9060005260206000209060030201600091509050806000018054610133906106a5565b80601f016020809104026020016040519081016040528092919081815260200182805461015f906106a5565b80156101ac5780601f10610181576101008083540402835291602001916101ac565b820191906000526020600020905b81548152906001019060200180831161018f57829003601f168201915b5050505050908060010154908060020154905083565b6040805160608101825282815260006020808301829052928201819052805460018101825590805281518051929360039092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301926102259284920190610462565b506020820151816001015560408201518160020155505050565b600082815260016020908152604080832033845290915290205460ff16156102ad5760405162461bcd60e51b815260206004820152601760248201527f596f75206861766520616c726561647920766f7465642e000000000000000000604482015260640160405180910390fd5b80156102f3576001600083815481106102c8576102c86106e0565b906000526020600020906003020160010160008282546102e891906106f6565b9091555061032e9050565b600160008381548110610308576103086106e0565b9060005260206000209060030201600201600082825461032891906106f6565b90915550505b506000908152600160208181526040808420338552909152909120805460ff19169091179055565b60606000806000848154811061036e5761036e6106e0565b906000526020600020906003020160000160008581548110610392576103926106e0565b906000526020600020906003020160010154600086815481106103b7576103b76106e0565b9060005260206000209060030201600201548280546103d5906106a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610401906106a5565b801561044e5780601f106104235761010080835404028352916020019161044e565b820191906000526020600020905b81548152906001019060200180831161043157829003601f168201915b505050505092509250925092509193909250565b82805461046e906106a5565b90600052602060002090601f01602090048101928261049057600085556104d6565b82601f106104a957805160ff19168380011785556104d6565b828001600101855582156104d6579182015b828111156104d65782518255916020019190600101906104bb565b506104e29291506104e6565b5090565b5b808211156104e257600081556001016104e7565b60006020828403121561050d57600080fd5b5035919050565b606081526000845180606084015260005b818110156105425760208188018101516080868401015201610525565b81811115610554576000608083860101525b5060208301949094525060408101919091526080601f909201601f19160101919050565b6000806040838503121561058b57600080fd5b8235915060208301356001600160a01b03811681146105a957600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105dc57600080fd5b813567ffffffffffffffff808211156105f457600080fd5b818401915084601f83011261060857600080fd5b81358181111561061a5761061a6105b4565b604051601f8201601f19908116603f01168101908382118183101715610642576106426105b4565b8160405282815287602084870101111561065b57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561068e57600080fd5b82359150602083013580151581146105a957600080fd5b600181811c908216806106b957607f821691505b602082108114156106da57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000821982111561071757634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220063bfb73a84fe082d46807b09b67fd218028f23058ce185d00b55e5bac5174bd64736f6c634300080b0033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13CF08B EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x43859632 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x49C2A1A6 EQ PUSH2 0xC5 JUMPI DUP1 PUSH4 0xC9D27AFE EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0xF91F88F7 EQ PUSH2 0xED JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x6A CALLDATASIZE PUSH1 0x4 PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x100 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x514 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH2 0x95 CALLDATASIZE PUSH1 0x4 PUSH2 0x578 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7E JUMP JUMPDEST PUSH2 0xD8 PUSH2 0xD3 CALLDATASIZE PUSH1 0x4 PUSH2 0x5CA JUMP JUMPDEST PUSH2 0x1C2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD8 PUSH2 0xE8 CALLDATASIZE PUSH1 0x4 PUSH2 0x67B JUMP JUMPDEST PUSH2 0x23F JUMP JUMPDEST PUSH2 0x6F PUSH2 0xFB CALLDATASIZE PUSH1 0x4 PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x356 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x110 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x133 SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15F SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1AC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x181 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1AC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x18F JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE SWAP3 DUP3 ADD DUP2 SWAP1 MSTORE DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP1 MSTORE DUP2 MLOAD DUP1 MLOAD SWAP3 SWAP4 PUSH1 0x3 SWAP1 SWAP3 MUL PUSH32 0x290DECD9548B62A8D60345A988386FC84BA6BC95484008F6362F93160EF3E563 ADD SWAP3 PUSH2 0x225 SWAP3 DUP5 SWAP3 ADD SWAP1 PUSH2 0x462 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F75206861766520616C726561647920766F7465642E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 ISZERO PUSH2 0x2F3 JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x2C8 JUMPI PUSH2 0x2C8 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2E8 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0x32E SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x308 JUMPI PUSH2 0x308 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x328 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 CALLER DUP6 MSTORE SWAP1 SWAP2 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x36E JUMPI PUSH2 0x36E PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 ADD PUSH1 0x0 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x392 JUMPI PUSH2 0x392 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x1 ADD SLOAD PUSH1 0x0 DUP7 DUP2 SLOAD DUP2 LT PUSH2 0x3B7 JUMPI PUSH2 0x3B7 PUSH2 0x6E0 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD DUP3 DUP1 SLOAD PUSH2 0x3D5 SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x401 SWAP1 PUSH2 0x6A5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x44E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x423 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x44E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x431 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 POP SWAP3 POP SWAP2 SWAP4 SWAP1 SWAP3 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x46E SWAP1 PUSH2 0x6A5 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x490 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x4D6 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x4A9 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x4D6 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x4D6 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x4D6 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4BB JUMP JUMPDEST POP PUSH2 0x4E2 SWAP3 SWAP2 POP PUSH2 0x4E6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4E2 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4E7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x50D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 DUP5 MLOAD DUP1 PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x542 JUMPI PUSH1 0x20 DUP2 DUP9 ADD DUP2 ADD MLOAD PUSH1 0x80 DUP7 DUP5 ADD ADD MSTORE ADD PUSH2 0x525 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x554 JUMPI PUSH1 0x0 PUSH1 0x80 DUP4 DUP7 ADD ADD MSTORE JUMPDEST POP PUSH1 0x20 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x40 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x80 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x58B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x5F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP5 ADD SWAP2 POP DUP5 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x608 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x61A JUMPI PUSH2 0x61A PUSH2 0x5B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x642 JUMPI PUSH2 0x642 PUSH2 0x5B4 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP8 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x65B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD PUSH1 0x20 ADD SWAP3 SWAP1 SWAP3 MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x68E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x5A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x6B9 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6DA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x717 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MOD EXTCODESIZE 0xFB PUSH20 0xA84FE082D46807B09B67FD218028F23058CE185D STOP 0xB5 0x5E JUMPDEST 0xAC MLOAD PUSH21 0xBD64736F6C634300080B0033000000000000000000 ","sourceMap":"64:1083:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;199:27;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;232:60;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:14:4;;1448:22;1430:41;;1418:2;1403:18;232:60:2;1290:187:4;299:191:2;;;;;;:::i;:::-;;:::i;:::-;;496:361;;;;;;:::i;:::-;;:::i;863:282::-;;;;;;:::i;:::-;;:::i;199:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;299:191::-;380:102;;;;;;;;;;;365:9;380:102;;;;;;;;;;;;;365:118;;;;;;;;;;;;;;380:102;;365:118;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;299:191;:::o;496:361::-;575:24;;;;:8;:24;;;;;;;;600:10;575:36;;;;;;;;;;574:37;566:73;;;;-1:-1:-1;;;566:73:2;;3474:2:4;566:73:2;;;3456:21:4;3513:2;3493:18;;;3486:30;3552:25;3532:18;;;3525:53;3595:18;;566:73:2;;;;;;;;654:8;650:147;;;716:1;678:9;688:14;678:25;;;;;;;;:::i;:::-;;;;;;;;;;;:34;;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;650:147:2;;-1:-1:-1;650:147:2;;785:1;748:9;758:14;748:25;;;;;;;;:::i;:::-;;;;;;;;;;;:33;;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;650:147:2;-1:-1:-1;807:24:2;;;;846:4;807:24;;;;;;;;832:10;807:36;;;;;;;;:43;;-1:-1:-1;;807:43:2;;;;;;496:361::o;863:282::-;935:13;950:7;959;999:9;1009:14;999:25;;;;;;;;:::i;:::-;;;;;;;;;;;:34;;1047:9;1057:14;1047:25;;;;;;;;:::i;:::-;;;;;;;;;;;:34;;;1095:9;1105:14;1095:25;;;;;;;;:::i;:::-;;;;;;;;;;;:33;;;978:160;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;863:282;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:180:4;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:4;;14:180;-1:-1:-1;14:180:4:o;199:727::-;404:2;393:9;386:21;367:4;436:6;430:13;479:6;474:2;463:9;459:18;452:34;504:1;514:145;528:6;525:1;522:13;514:145;;;642:4;626:14;;;622:25;;616:32;610:3;591:17;;;587:27;580:69;543:12;514:145;;;677:6;674:1;671:13;668:92;;;748:1;742:3;733:6;722:9;718:22;714:32;707:43;668:92;-1:-1:-1;863:4:4;848:20;;841:36;;;;-1:-1:-1;908:2:4;893:18;;886:34;;;;828:3;821:2;800:15;;;-1:-1:-1;;796:29:4;781:45;777:55;;;-1:-1:-1;199:727:4:o;931:354::-;999:6;1007;1060:2;1048:9;1039:7;1035:23;1031:32;1028:52;;;1076:1;1073;1066:12;1028:52;1099:23;;;-1:-1:-1;1172:2:4;1157:18;;1144:32;-1:-1:-1;;;;;1205:31:4;;1195:42;;1185:70;;1251:1;1248;1241:12;1185:70;1274:5;1264:15;;;931:354;;;;;:::o;1482:127::-;1543:10;1538:3;1534:20;1531:1;1524:31;1574:4;1571:1;1564:15;1598:4;1595:1;1588:15;1614:922;1683:6;1736:2;1724:9;1715:7;1711:23;1707:32;1704:52;;;1752:1;1749;1742:12;1704:52;1792:9;1779:23;1821:18;1862:2;1854:6;1851:14;1848:34;;;1878:1;1875;1868:12;1848:34;1916:6;1905:9;1901:22;1891:32;;1961:7;1954:4;1950:2;1946:13;1942:27;1932:55;;1983:1;1980;1973:12;1932:55;2019:2;2006:16;2041:2;2037;2034:10;2031:36;;;2047:18;;:::i;:::-;2122:2;2116:9;2090:2;2176:13;;-1:-1:-1;;2172:22:4;;;2196:2;2168:31;2164:40;2152:53;;;2220:18;;;2240:22;;;2217:46;2214:72;;;2266:18;;:::i;:::-;2306:10;2302:2;2295:22;2341:2;2333:6;2326:18;2381:7;2376:2;2371;2367;2363:11;2359:20;2356:33;2353:53;;;2402:1;2399;2392:12;2353:53;2458:2;2453;2449;2445:11;2440:2;2432:6;2428:15;2415:46;2503:1;2481:15;;;2498:2;2477:24;2470:35;;;;-1:-1:-1;2485:6:4;1614:922;-1:-1:-1;;;;;1614:922:4:o;2541:341::-;2606:6;2614;2667:2;2655:9;2646:7;2642:23;2638:32;2635:52;;;2683:1;2680;2673:12;2635:52;2719:9;2706:23;2696:33;;2779:2;2768:9;2764:18;2751:32;2826:5;2819:13;2812:21;2805:5;2802:32;2792:60;;2848:1;2845;2838:12;2887:380;2966:1;2962:12;;;;3009;;;3030:61;;3084:4;3076:6;3072:17;3062:27;;3030:61;3137:2;3129:6;3126:14;3106:18;3103:38;3100:161;;;3183:10;3178:3;3174:20;3171:1;3164:31;3218:4;3215:1;3208:15;3246:4;3243:1;3236:15;3100:161;;2887:380;;;:::o;3624:127::-;3685:10;3680:3;3676:20;3673:1;3666:31;3716:4;3713:1;3706:15;3740:4;3737:1;3730:15;3756:225;3796:3;3827:1;3823:6;3820:1;3817:13;3814:136;;;3872:10;3867:3;3863:20;3860:1;3853:31;3907:4;3904:1;3897:15;3935:4;3932:1;3925:15;3814:136;-1:-1:-1;3966:9:4;;3756:225::o"},"methodIdentifiers":{"createProposal(string)":"49c2a1a6","getProposalResult(uint256)":"f91f88f7","hasVoted(uint256,address)":"43859632","proposals(uint256)":"013cf08b","vote(uint256,bool)":"c9d27afe"}},"metadata":"{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_question\",\"type\":\"string\"}],\"name\":\"createProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalIndex\",\"type\":\"uint256\"}],\"name\":\"getProposalResult\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"question\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"yesVotes\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"noVotes\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_voteYes\",\"type\":\"bool\"}],\"name\":\"vote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/planetProposal.sol\":\"PlanetProposal\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/planetProposal.sol\":{\"keccak256\":\"0x4d390bc5a5a74a43cb77e00390a3622ff4bda634ed94b87cff3e57c4b063f4c5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://2a87b95eedfab009ddef1e32aa87e4b94658636c9d09efa5245ecfb492e7ef69\",\"dweb:/ipfs/QmZH7zqVMuJTuHkzPF3DMTpE26NevhDSA6yS5JcM5CmcGB\"]}},\"version\":1}"}},"contracts/proposal.sol":{"ClassificationProposal":{"abi":[{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"classifications","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"amountCollected","type":"uint256"},{"internalType":"string","name":"image","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_title","type":"string"},{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"string","name":"_image","type":"string"}],"name":"createProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getProposals","outputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"amountCollected","type":"uint256"},{"internalType":"string","name":"image","type":"string"},{"internalType":"address[]","name":"voters","type":"address[]"},{"internalType":"uint256[]","name":"votes","type":"uint256[]"}],"internalType":"struct ClassificationProposal.Classification[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"getVoters","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfClassifications","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"voteForProposal","outputs":[],"stateMutability":"payable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6080604052600060015534801561001557600080fd5b50610f20806100256000396000f3fe6080604052600436106100555760003560e01c8063045c6ce01461005a57806362564c481461006f5780636ceae4d11461009a57806385f25a00146100c857806386b646f2146100de578063a88949301461010c575b600080fd5b61006d610068366004610a0e565b61013f565b005b34801561007b57600080fd5b50610084610201565b6040516100919190610ae8565b60405180910390f35b3480156100a657600080fd5b506100ba6100b5366004610c98565b6105ae565b604051908152602001610091565b3480156100d457600080fd5b506100ba60015481565b3480156100ea57600080fd5b506100fe6100f9366004610a0e565b6106c9565b604051610091929190610d51565b34801561011857600080fd5b5061012c610127366004610a0e565b610798565b6040516100919796959493929190610dd5565b600081815260208181526040808320600781018054600180820183559186528486200180546001600160a01b0319163317905560088201805491820181558552928420349301839055805491519293909290916001600160a01b03169084908381818185875af1925050503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5050905080156101fb578282600501546101f59190610e55565b60058301555b50505050565b6060600060015467ffffffffffffffff81111561022057610220610bf5565b6040519080825280602002602001820160405280156102a957816020015b61029660405180610120016040528060006001600160a01b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b81526020019060019003908161023e5790505b50905060005b6001548110156105a857600081815260208181526040918290208251610120810190935280546001600160a01b03168352600181018054919392849290840191906102f990610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461032590610e6d565b80156103725780601f1061034757610100808354040283529160200191610372565b820191906000526020600020905b81548152906001019060200180831161035557829003601f168201915b5050505050815260200160028201805461038b90610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546103b790610e6d565b80156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050815260200160038201548152602001600482015481526020016005820154815260200160068201805461043b90610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461046790610e6d565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b505050505081526020016007820180548060200260200160405190810160405280929190818152602001828054801561051657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104f8575b505050505081526020016008820180548060200260200160405190810160405280929190818152602001828054801561056e57602002820191906000526020600020905b81548152602001906001019080831161055a575b50505050508152505083838151811061058957610589610ea2565b60200260200101819052505080806105a090610eb8565b9150506102af565b50919050565b60015460009081526020819052604081206004810154421161062a5760405162461bcd60e51b815260206004820152602b60248201527f54686520646561646c696e652073686f756c642062652061206461746520696e60448201526a207468652066757475726560a81b606482015260840160405180910390fd5b80546001600160a01b0319166001600160a01b038916178155865161065890600183019060208a0190610975565b50855161066e9060028301906020890190610975565b5060038101859055600481018490556000600582015582516106999060068301906020860190610975565b50600180549060006106aa83610eb8565b9190505550600180546106bd9190610ed3565b98975050505050505050565b6000818152602081815260409182902060078101805484518185028101850190955280855260609485949293600801929091849183018282801561073657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610718575b505050505091508080548060200260200160405190810160405280929190818152602001828054801561078857602002820191906000526020600020905b815481526020019060010190808311610774575b5050505050905091509150915091565b600060208190529081526040902080546001820180546001600160a01b0390921692916107c490610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546107f090610e6d565b801561083d5780601f106108125761010080835404028352916020019161083d565b820191906000526020600020905b81548152906001019060200180831161082057829003601f168201915b50505050509080600201805461085290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90610e6d565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050908060030154908060040154908060050154908060060180546108f290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461091e90610e6d565b801561096b5780601f106109405761010080835404028352916020019161096b565b820191906000526020600020905b81548152906001019060200180831161094e57829003601f168201915b5050505050905087565b82805461098190610e6d565b90600052602060002090601f0160209004810192826109a357600085556109e9565b82601f106109bc57805160ff19168380011785556109e9565b828001600101855582156109e9579182015b828111156109e95782518255916020019190600101906109ce565b506109f59291506109f9565b5090565b5b808211156109f557600081556001016109fa565b600060208284031215610a2057600080fd5b5035919050565b6000815180845260005b81811015610a4d57602081850181015186830182015201610a31565b81811115610a5f576000602083870101525b50601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b83811015610aad5781516001600160a01b031687529582019590820190600101610a88565b509495945050505050565b600081518084526020808501945080840160005b83811015610aad57815187529582019590820190600101610acc565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610be757888303603f19018552815180516001600160a01b0316845261012088820151818a870152610b4782870182610a27565b9150508782015185820389870152610b5f8282610a27565b606084810151908801526080808501519088015260a0808501519088015260c080850151888303828a01529193509150610b998382610a27565b9250505060e08083015186830382880152610bb48382610a74565b925050506101008083015192508582038187015250610bd38183610ab8565b968901969450505090860190600101610b0f565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c1c57600080fd5b813567ffffffffffffffff80821115610c3757610c37610bf5565b604051601f8301601f19908116603f01168101908282118183101715610c5f57610c5f610bf5565b81604052838152866020858801011115610c7857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215610cb157600080fd5b86356001600160a01b0381168114610cc857600080fd5b9550602087013567ffffffffffffffff80821115610ce557600080fd5b610cf18a838b01610c0b565b96506040890135915080821115610d0757600080fd5b610d138a838b01610c0b565b9550606089013594506080890135935060a0890135915080821115610d3757600080fd5b50610d4489828a01610c0b565b9150509295509295509295565b604080825283519082018190526000906020906060840190828701845b82811015610d935781516001600160a01b031684529284019290840190600101610d6e565b5050508381038285015284518082528583019183019060005b81811015610dc857835183529284019291840191600101610dac565b5090979650505050505050565b6001600160a01b038816815260e060208201819052600090610df990830189610a27565b8281036040840152610e0b8189610a27565b90508660608401528560808401528460a084015282810360c0840152610e318185610a27565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610e6857610e68610e3f565b500190565b600181811c90821680610e8157607f821691505b602082108114156105a857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600019821415610ecc57610ecc610e3f565b5060010190565b600082821015610ee557610ee5610e3f565b50039056fea2646970667358221220c3540924668b7454f9265c09af82295888327e2f8610ac05fd1df6f66022142564736f6c634300080b0033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF20 DUP1 PUSH2 0x25 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x45C6CE0 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x62564C48 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x6CEAE4D1 EQ PUSH2 0x9A JUMPI DUP1 PUSH4 0x85F25A00 EQ PUSH2 0xC8 JUMPI DUP1 PUSH4 0x86B646F2 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0xA8894930 EQ PUSH2 0x10C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6D PUSH2 0x68 CALLDATASIZE PUSH1 0x4 PUSH2 0xA0E JUMP JUMPDEST PUSH2 0x13F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x84 PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x91 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xB5 CALLDATASIZE PUSH1 0x4 PUSH2 0xC98 JUMP JUMPDEST PUSH2 0x5AE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x91 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFE PUSH2 0xF9 CALLDATASIZE PUSH1 0x4 PUSH2 0xA0E JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x91 SWAP3 SWAP2 SWAP1 PUSH2 0xD51 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12C PUSH2 0x127 CALLDATASIZE PUSH1 0x4 PUSH2 0xA0E JUMP JUMPDEST PUSH2 0x798 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x91 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x7 DUP2 ADD DUP1 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP4 SSTORE SWAP2 DUP7 MSTORE DUP5 DUP7 KECCAK256 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH1 0x8 DUP3 ADD DUP1 SLOAD SWAP2 DUP3 ADD DUP2 SSTORE DUP6 MSTORE SWAP3 DUP5 KECCAK256 CALLVALUE SWAP4 ADD DUP4 SWAP1 SSTORE DUP1 SLOAD SWAP2 MLOAD SWAP3 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP5 SWAP1 DUP4 DUP2 DUP2 DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1D6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 ISZERO PUSH2 0x1FB JUMPI DUP3 DUP3 PUSH1 0x5 ADD SLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0xE55 JUMP JUMPDEST PUSH1 0x5 DUP4 ADD SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x220 JUMPI PUSH2 0x220 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2A9 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x296 PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x23E JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x1 SLOAD DUP2 LT ISZERO PUSH2 0x5A8 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x120 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP4 SWAP3 DUP5 SWAP3 SWAP1 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2F9 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x325 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x372 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x347 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x372 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x355 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x38B SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3B7 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x404 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x404 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x43B SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x467 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x489 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x497 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F8 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x56E JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x55A JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x589 JUMPI PUSH2 0x589 PUSH2 0xEA2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP DUP1 DUP1 PUSH2 0x5A0 SWAP1 PUSH2 0xEB8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2AF JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD TIMESTAMP GT PUSH2 0x62A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54686520646561646C696E652073686F756C642062652061206461746520696E PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x2074686520667574757265 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE DUP7 MLOAD PUSH2 0x658 SWAP1 PUSH1 0x1 DUP4 ADD SWAP1 PUSH1 0x20 DUP11 ADD SWAP1 PUSH2 0x975 JUMP JUMPDEST POP DUP6 MLOAD PUSH2 0x66E SWAP1 PUSH1 0x2 DUP4 ADD SWAP1 PUSH1 0x20 DUP10 ADD SWAP1 PUSH2 0x975 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP6 SWAP1 SSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x0 PUSH1 0x5 DUP3 ADD SSTORE DUP3 MLOAD PUSH2 0x699 SWAP1 PUSH1 0x6 DUP4 ADD SWAP1 PUSH1 0x20 DUP7 ADD SWAP1 PUSH2 0x975 JUMP JUMPDEST POP PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x6AA DUP4 PUSH2 0xEB8 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x1 DUP1 SLOAD PUSH2 0x6BD SWAP2 SWAP1 PUSH2 0xED3 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x7 DUP2 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE PUSH1 0x60 SWAP5 DUP6 SWAP5 SWAP3 SWAP4 PUSH1 0x8 ADD SWAP3 SWAP1 SWAP2 DUP5 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x736 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP DUP1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x788 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x774 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 POP SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x7C4 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7F0 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x83D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x812 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x83D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x820 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x852 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x87E SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x8CB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8A0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x8CB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8AE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 DUP1 PUSH1 0x6 ADD DUP1 SLOAD PUSH2 0x8F2 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x91E SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x96B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x940 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x96B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x94E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP8 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x981 SWAP1 PUSH2 0xE6D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x9A3 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x9E9 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x9BC JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x9E9 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x9E9 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x9E9 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x9CE JUMP JUMPDEST POP PUSH2 0x9F5 SWAP3 SWAP2 POP PUSH2 0x9F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x9F5 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x9FA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA4D JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0xA31 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xA5F JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xAAD JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xA88 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xAAD JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xACC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBE7 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE PUSH2 0x120 DUP9 DUP3 ADD MLOAD DUP2 DUP11 DUP8 ADD MSTORE PUSH2 0xB47 DUP3 DUP8 ADD DUP3 PUSH2 0xA27 JUMP JUMPDEST SWAP2 POP POP DUP8 DUP3 ADD MLOAD DUP6 DUP3 SUB DUP10 DUP8 ADD MSTORE PUSH2 0xB5F DUP3 DUP3 PUSH2 0xA27 JUMP JUMPDEST PUSH1 0x60 DUP5 DUP2 ADD MLOAD SWAP1 DUP9 ADD MSTORE PUSH1 0x80 DUP1 DUP6 ADD MLOAD SWAP1 DUP9 ADD MSTORE PUSH1 0xA0 DUP1 DUP6 ADD MLOAD SWAP1 DUP9 ADD MSTORE PUSH1 0xC0 DUP1 DUP6 ADD MLOAD DUP9 DUP4 SUB DUP3 DUP11 ADD MSTORE SWAP2 SWAP4 POP SWAP2 POP PUSH2 0xB99 DUP4 DUP3 PUSH2 0xA27 JUMP JUMPDEST SWAP3 POP POP POP PUSH1 0xE0 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0xBB4 DUP4 DUP3 PUSH2 0xA74 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x100 DUP1 DUP4 ADD MLOAD SWAP3 POP DUP6 DUP3 SUB DUP2 DUP8 ADD MSTORE POP PUSH2 0xBD3 DUP2 DUP4 PUSH2 0xAB8 JUMP JUMPDEST SWAP7 DUP10 ADD SWAP7 SWAP5 POP POP POP SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xB0F JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xC1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC37 JUMPI PUSH2 0xC37 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xC5F JUMPI PUSH2 0xC5F PUSH2 0xBF5 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0xC78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0xCB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xCC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xCE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCF1 DUP11 DUP4 DUP12 ADD PUSH2 0xC0B JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xD07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD13 DUP11 DUP4 DUP12 ADD PUSH2 0xC0B JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP5 POP PUSH1 0x80 DUP10 ADD CALLDATALOAD SWAP4 POP PUSH1 0xA0 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xD37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD44 DUP10 DUP3 DUP11 ADD PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x40 DUP1 DUP3 MSTORE DUP4 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0x60 DUP5 ADD SWAP1 DUP3 DUP8 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xD93 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xD6E JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE DUP5 MLOAD DUP1 DUP3 MSTORE DUP6 DUP4 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xDC8 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xDAC JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0xDF9 SWAP1 DUP4 ADD DUP10 PUSH2 0xA27 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xE0B DUP2 DUP10 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP DUP7 PUSH1 0x60 DUP5 ADD MSTORE DUP6 PUSH1 0x80 DUP5 ADD MSTORE DUP5 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0xE31 DUP2 DUP6 PUSH2 0xA27 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xE68 JUMPI PUSH2 0xE68 PUSH2 0xE3F JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xE81 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5A8 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0xECC JUMPI PUSH2 0xECC PUSH2 0xE3F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xEE5 JUMPI PUSH2 0xEE5 PUSH2 0xE3F JUMP JUMPDEST POP SUB SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC3 SLOAD MULMOD 0x24 PUSH7 0x8B7454F9265C09 0xAF DUP3 0x29 PC DUP9 ORIGIN PUSH31 0x2F8610AC05FD1DF6F66022142564736F6C634300080B003300000000000000 ","sourceMap":"65:3117:3:-:0;;;720:1;679:42;;65:3117;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@classifications_411":{"entryPoint":1944,"id":411,"parameterSlots":0,"returnSlots":0},"@createProposal_497":{"entryPoint":1454,"id":497,"parameterSlots":6,"returnSlots":1},"@getProposals_626":{"entryPoint":513,"id":626,"parameterSlots":0,"returnSlots":1},"@getVoters_579":{"entryPoint":1737,"id":579,"parameterSlots":1,"returnSlots":2},"@numberOfClassifications_414":{"entryPoint":null,"id":414,"parameterSlots":0,"returnSlots":0},"@voteForProposal_557":{"entryPoint":319,"id":557,"parameterSlots":1,"returnSlots":0},"abi_decode_string":{"entryPoint":3083,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_uint256t_uint256t_string_memory_ptr":{"entryPoint":3224,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_uint256":{"entryPoint":2574,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_address":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_array_address_dyn":{"entryPoint":2676,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_array_uint256_dyn":{"entryPoint":2744,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":2599,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_string_memory_ptr__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3541,"id":null,"parameterSlots":8,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":3409,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":2792,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_cdbf0d34bba52c37cdad39ed7b038c6bba452acc7c71023f129a9b273b62b2aa__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":3669,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":3795,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":3693,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint256":{"entryPoint":3768,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":3647,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":3746,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3061,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:9664:4","statements":[{"nodeType":"YulBlock","src":"6:3:4","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:4","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:4"},"nodeType":"YulFunctionCall","src":"132:12:4"},"nodeType":"YulExpressionStatement","src":"132:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:4"},"nodeType":"YulFunctionCall","src":"101:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:4"},"nodeType":"YulFunctionCall","src":"97:32:4"},"nodeType":"YulIf","src":"94:52:4"},{"nodeType":"YulAssignment","src":"155:33:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:4"},"nodeType":"YulFunctionCall","src":"165:23:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:4"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:4","type":""}],"src":"14:180:4"},{"body":{"nodeType":"YulBlock","src":"243:60:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"260:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"269:5:4"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"284:3:4","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"289:1:4","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"280:3:4"},"nodeType":"YulFunctionCall","src":"280:11:4"},{"kind":"number","nodeType":"YulLiteral","src":"293:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"276:3:4"},"nodeType":"YulFunctionCall","src":"276:19:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"265:3:4"},"nodeType":"YulFunctionCall","src":"265:31:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"253:6:4"},"nodeType":"YulFunctionCall","src":"253:44:4"},"nodeType":"YulExpressionStatement","src":"253:44:4"}]},"name":"abi_encode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"227:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"234:3:4","type":""}],"src":"199:104:4"},{"body":{"nodeType":"YulBlock","src":"358:422:4","statements":[{"nodeType":"YulVariableDeclaration","src":"368:26:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"388:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"382:5:4"},"nodeType":"YulFunctionCall","src":"382:12:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"372:6:4","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"410:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"415:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"403:6:4"},"nodeType":"YulFunctionCall","src":"403:19:4"},"nodeType":"YulExpressionStatement","src":"403:19:4"},{"nodeType":"YulVariableDeclaration","src":"431:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"440:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"435:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"502:110:4","statements":[{"nodeType":"YulVariableDeclaration","src":"516:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"526:4:4","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"520:2:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"558:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"563:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"554:3:4"},"nodeType":"YulFunctionCall","src":"554:11:4"},{"name":"_1","nodeType":"YulIdentifier","src":"567:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"550:3:4"},"nodeType":"YulFunctionCall","src":"550:20:4"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"586:5:4"},{"name":"i","nodeType":"YulIdentifier","src":"593:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"582:3:4"},"nodeType":"YulFunctionCall","src":"582:13:4"},{"name":"_1","nodeType":"YulIdentifier","src":"597:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"578:3:4"},"nodeType":"YulFunctionCall","src":"578:22:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"572:5:4"},"nodeType":"YulFunctionCall","src":"572:29:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"543:6:4"},"nodeType":"YulFunctionCall","src":"543:59:4"},"nodeType":"YulExpressionStatement","src":"543:59:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"461:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"464:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"458:2:4"},"nodeType":"YulFunctionCall","src":"458:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"472:21:4","statements":[{"nodeType":"YulAssignment","src":"474:17:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"483:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"486:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"479:3:4"},"nodeType":"YulFunctionCall","src":"479:12:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"474:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"454:3:4","statements":[]},"src":"450:162:4"},{"body":{"nodeType":"YulBlock","src":"646:62:4","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"675:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"680:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"671:3:4"},"nodeType":"YulFunctionCall","src":"671:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"689:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"667:3:4"},"nodeType":"YulFunctionCall","src":"667:27:4"},{"kind":"number","nodeType":"YulLiteral","src":"696:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"660:6:4"},"nodeType":"YulFunctionCall","src":"660:38:4"},"nodeType":"YulExpressionStatement","src":"660:38:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"627:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"630:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"624:2:4"},"nodeType":"YulFunctionCall","src":"624:13:4"},"nodeType":"YulIf","src":"621:87:4"},{"nodeType":"YulAssignment","src":"717:57:4","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"732:3:4"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"745:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"753:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"741:3:4"},"nodeType":"YulFunctionCall","src":"741:15:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"762:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"758:3:4"},"nodeType":"YulFunctionCall","src":"758:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"737:3:4"},"nodeType":"YulFunctionCall","src":"737:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"728:3:4"},"nodeType":"YulFunctionCall","src":"728:39:4"},{"kind":"number","nodeType":"YulLiteral","src":"769:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"724:3:4"},"nodeType":"YulFunctionCall","src":"724:50:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"717:3:4"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"335:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"342:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"350:3:4","type":""}],"src":"308:472:4"},{"body":{"nodeType":"YulBlock","src":"846:400:4","statements":[{"nodeType":"YulVariableDeclaration","src":"856:26:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"876:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"870:5:4"},"nodeType":"YulFunctionCall","src":"870:12:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"860:6:4","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"898:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"903:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"891:6:4"},"nodeType":"YulFunctionCall","src":"891:19:4"},"nodeType":"YulExpressionStatement","src":"891:19:4"},{"nodeType":"YulVariableDeclaration","src":"919:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"929:4:4","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"923:2:4","type":""}]},{"nodeType":"YulAssignment","src":"942:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"953:3:4"},{"name":"_1","nodeType":"YulIdentifier","src":"958:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"949:3:4"},"nodeType":"YulFunctionCall","src":"949:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"942:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"970:28:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"988:5:4"},{"name":"_1","nodeType":"YulIdentifier","src":"995:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"984:3:4"},"nodeType":"YulFunctionCall","src":"984:14:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"974:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1007:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1016:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1011:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"1075:146:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1096:3:4"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1111:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1105:5:4"},"nodeType":"YulFunctionCall","src":"1105:13:4"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1128:3:4","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1133:1:4","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1124:3:4"},"nodeType":"YulFunctionCall","src":"1124:11:4"},{"kind":"number","nodeType":"YulLiteral","src":"1137:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1120:3:4"},"nodeType":"YulFunctionCall","src":"1120:19:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1101:3:4"},"nodeType":"YulFunctionCall","src":"1101:39:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1089:6:4"},"nodeType":"YulFunctionCall","src":"1089:52:4"},"nodeType":"YulExpressionStatement","src":"1089:52:4"},{"nodeType":"YulAssignment","src":"1154:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1165:3:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1170:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1161:3:4"},"nodeType":"YulFunctionCall","src":"1161:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1154:3:4"}]},{"nodeType":"YulAssignment","src":"1186:25:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1200:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1208:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1196:3:4"},"nodeType":"YulFunctionCall","src":"1196:15:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1186:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1037:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"1040:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1034:2:4"},"nodeType":"YulFunctionCall","src":"1034:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1048:18:4","statements":[{"nodeType":"YulAssignment","src":"1050:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1059:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"1062:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1055:3:4"},"nodeType":"YulFunctionCall","src":"1055:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1050:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"1030:3:4","statements":[]},"src":"1026:195:4"},{"nodeType":"YulAssignment","src":"1230:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"1237:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1230:3:4"}]}]},"name":"abi_encode_array_address_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"823:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"830:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"838:3:4","type":""}],"src":"785:461:4"},{"body":{"nodeType":"YulBlock","src":"1312:374:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1322:26:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1342:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1336:5:4"},"nodeType":"YulFunctionCall","src":"1336:12:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1326:6:4","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1364:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"1369:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1357:6:4"},"nodeType":"YulFunctionCall","src":"1357:19:4"},"nodeType":"YulExpressionStatement","src":"1357:19:4"},{"nodeType":"YulVariableDeclaration","src":"1385:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1395:4:4","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1389:2:4","type":""}]},{"nodeType":"YulAssignment","src":"1408:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1419:3:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1424:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1415:3:4"},"nodeType":"YulFunctionCall","src":"1415:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1408:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"1436:28:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1454:5:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1461:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1450:3:4"},"nodeType":"YulFunctionCall","src":"1450:14:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"1440:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1473:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1482:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1477:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"1541:120:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1562:3:4"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1573:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1567:5:4"},"nodeType":"YulFunctionCall","src":"1567:13:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1555:6:4"},"nodeType":"YulFunctionCall","src":"1555:26:4"},"nodeType":"YulExpressionStatement","src":"1555:26:4"},{"nodeType":"YulAssignment","src":"1594:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1605:3:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1610:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1601:3:4"},"nodeType":"YulFunctionCall","src":"1601:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1594:3:4"}]},{"nodeType":"YulAssignment","src":"1626:25:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1640:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1648:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1636:3:4"},"nodeType":"YulFunctionCall","src":"1636:15:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1626:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1503:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"1506:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1500:2:4"},"nodeType":"YulFunctionCall","src":"1500:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1514:18:4","statements":[{"nodeType":"YulAssignment","src":"1516:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1525:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"1528:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1521:3:4"},"nodeType":"YulFunctionCall","src":"1521:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1516:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"1496:3:4","statements":[]},"src":"1492:169:4"},{"nodeType":"YulAssignment","src":"1670:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"1677:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1670:3:4"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1289:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1296:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1304:3:4","type":""}],"src":"1251:435:4"},{"body":{"nodeType":"YulBlock","src":"1904:1936:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1914:12:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1924:2:4","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1918:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1935:32:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1953:9:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1964:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1949:3:4"},"nodeType":"YulFunctionCall","src":"1949:18:4"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"1939:6:4","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1983:9:4"},{"name":"_1","nodeType":"YulIdentifier","src":"1994:2:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1976:6:4"},"nodeType":"YulFunctionCall","src":"1976:21:4"},"nodeType":"YulExpressionStatement","src":"1976:21:4"},{"nodeType":"YulVariableDeclaration","src":"2006:17:4","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"2017:6:4"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2010:3:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2032:27:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2052:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2046:5:4"},"nodeType":"YulFunctionCall","src":"2046:13:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2036:6:4","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"2075:6:4"},{"name":"length","nodeType":"YulIdentifier","src":"2083:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2068:6:4"},"nodeType":"YulFunctionCall","src":"2068:22:4"},"nodeType":"YulExpressionStatement","src":"2068:22:4"},{"nodeType":"YulVariableDeclaration","src":"2099:12:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2109:2:4","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2103:2:4","type":""}]},{"nodeType":"YulAssignment","src":"2120:25:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2131:9:4"},{"name":"_2","nodeType":"YulIdentifier","src":"2142:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2127:3:4"},"nodeType":"YulFunctionCall","src":"2127:18:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2120:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"2154:53:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2176:9:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2191:1:4","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"2194:6:4"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2187:3:4"},"nodeType":"YulFunctionCall","src":"2187:14:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2172:3:4"},"nodeType":"YulFunctionCall","src":"2172:30:4"},{"name":"_2","nodeType":"YulIdentifier","src":"2204:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2168:3:4"},"nodeType":"YulFunctionCall","src":"2168:39:4"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"2158:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2216:29:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2234:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"2242:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2230:3:4"},"nodeType":"YulFunctionCall","src":"2230:15:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"2220:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2254:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2263:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2258:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"2322:1489:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2343:3:4"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2356:6:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2364:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2352:3:4"},"nodeType":"YulFunctionCall","src":"2352:22:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2380:2:4","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2376:3:4"},"nodeType":"YulFunctionCall","src":"2376:7:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2348:3:4"},"nodeType":"YulFunctionCall","src":"2348:36:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2336:6:4"},"nodeType":"YulFunctionCall","src":"2336:49:4"},"nodeType":"YulExpressionStatement","src":"2336:49:4"},{"nodeType":"YulVariableDeclaration","src":"2398:23:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2414:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2408:5:4"},"nodeType":"YulFunctionCall","src":"2408:13:4"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2402:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2434:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2444:6:4","type":"","value":"0x0120"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2438:2:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2488:2:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2482:5:4"},"nodeType":"YulFunctionCall","src":"2482:9:4"},{"name":"tail_2","nodeType":"YulIdentifier","src":"2493:6:4"}],"functionName":{"name":"abi_encode_address","nodeType":"YulIdentifier","src":"2463:18:4"},"nodeType":"YulFunctionCall","src":"2463:37:4"},"nodeType":"YulExpressionStatement","src":"2463:37:4"},{"nodeType":"YulVariableDeclaration","src":"2513:38:4","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2543:2:4"},{"name":"_1","nodeType":"YulIdentifier","src":"2547:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2539:3:4"},"nodeType":"YulFunctionCall","src":"2539:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2533:5:4"},"nodeType":"YulFunctionCall","src":"2533:18:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"2517:12:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2575:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"2583:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2571:3:4"},"nodeType":"YulFunctionCall","src":"2571:15:4"},{"name":"_4","nodeType":"YulIdentifier","src":"2588:2:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2564:6:4"},"nodeType":"YulFunctionCall","src":"2564:27:4"},"nodeType":"YulExpressionStatement","src":"2564:27:4"},{"nodeType":"YulVariableDeclaration","src":"2604:62:4","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"2636:12:4"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2654:6:4"},{"name":"_4","nodeType":"YulIdentifier","src":"2662:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2650:3:4"},"nodeType":"YulFunctionCall","src":"2650:15:4"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2618:17:4"},"nodeType":"YulFunctionCall","src":"2618:48:4"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"2608:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2679:40:4","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2711:2:4"},{"name":"_2","nodeType":"YulIdentifier","src":"2715:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2707:3:4"},"nodeType":"YulFunctionCall","src":"2707:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2701:5:4"},"nodeType":"YulFunctionCall","src":"2701:18:4"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"2683:14:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2743:6:4"},{"name":"_2","nodeType":"YulIdentifier","src":"2751:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2739:3:4"},"nodeType":"YulFunctionCall","src":"2739:15:4"},{"arguments":[{"name":"tail_3","nodeType":"YulIdentifier","src":"2760:6:4"},{"name":"tail_2","nodeType":"YulIdentifier","src":"2768:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2756:3:4"},"nodeType":"YulFunctionCall","src":"2756:19:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2732:6:4"},"nodeType":"YulFunctionCall","src":"2732:44:4"},"nodeType":"YulExpressionStatement","src":"2732:44:4"},{"nodeType":"YulVariableDeclaration","src":"2789:55:4","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"2821:14:4"},{"name":"tail_3","nodeType":"YulIdentifier","src":"2837:6:4"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2803:17:4"},"nodeType":"YulFunctionCall","src":"2803:41:4"},"variables":[{"name":"tail_4","nodeType":"YulTypedName","src":"2793:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2857:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2867:4:4","type":"","value":"0x60"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"2861:2:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2895:6:4"},{"name":"_5","nodeType":"YulIdentifier","src":"2903:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2891:3:4"},"nodeType":"YulFunctionCall","src":"2891:15:4"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2918:2:4"},{"name":"_5","nodeType":"YulIdentifier","src":"2922:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2914:3:4"},"nodeType":"YulFunctionCall","src":"2914:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2908:5:4"},"nodeType":"YulFunctionCall","src":"2908:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2884:6:4"},"nodeType":"YulFunctionCall","src":"2884:43:4"},"nodeType":"YulExpressionStatement","src":"2884:43:4"},{"nodeType":"YulVariableDeclaration","src":"2940:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2950:4:4","type":"","value":"0x80"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"2944:2:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2978:6:4"},{"name":"_6","nodeType":"YulIdentifier","src":"2986:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2974:3:4"},"nodeType":"YulFunctionCall","src":"2974:15:4"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3001:2:4"},{"name":"_6","nodeType":"YulIdentifier","src":"3005:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2997:3:4"},"nodeType":"YulFunctionCall","src":"2997:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2991:5:4"},"nodeType":"YulFunctionCall","src":"2991:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2967:6:4"},"nodeType":"YulFunctionCall","src":"2967:43:4"},"nodeType":"YulExpressionStatement","src":"2967:43:4"},{"nodeType":"YulVariableDeclaration","src":"3023:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3033:4:4","type":"","value":"0xa0"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"3027:2:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3061:6:4"},{"name":"_7","nodeType":"YulIdentifier","src":"3069:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3057:3:4"},"nodeType":"YulFunctionCall","src":"3057:15:4"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3084:2:4"},{"name":"_7","nodeType":"YulIdentifier","src":"3088:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3080:3:4"},"nodeType":"YulFunctionCall","src":"3080:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3074:5:4"},"nodeType":"YulFunctionCall","src":"3074:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3050:6:4"},"nodeType":"YulFunctionCall","src":"3050:43:4"},"nodeType":"YulExpressionStatement","src":"3050:43:4"},{"nodeType":"YulVariableDeclaration","src":"3106:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3116:4:4","type":"","value":"0xc0"},"variables":[{"name":"_8","nodeType":"YulTypedName","src":"3110:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3133:40:4","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3165:2:4"},{"name":"_8","nodeType":"YulIdentifier","src":"3169:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3161:3:4"},"nodeType":"YulFunctionCall","src":"3161:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3155:5:4"},"nodeType":"YulFunctionCall","src":"3155:18:4"},"variables":[{"name":"memberValue0_2","nodeType":"YulTypedName","src":"3137:14:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3197:6:4"},{"name":"_8","nodeType":"YulIdentifier","src":"3205:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3193:3:4"},"nodeType":"YulFunctionCall","src":"3193:15:4"},{"arguments":[{"name":"tail_4","nodeType":"YulIdentifier","src":"3214:6:4"},{"name":"tail_2","nodeType":"YulIdentifier","src":"3222:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3210:3:4"},"nodeType":"YulFunctionCall","src":"3210:19:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3186:6:4"},"nodeType":"YulFunctionCall","src":"3186:44:4"},"nodeType":"YulExpressionStatement","src":"3186:44:4"},{"nodeType":"YulVariableDeclaration","src":"3243:55:4","value":{"arguments":[{"name":"memberValue0_2","nodeType":"YulIdentifier","src":"3275:14:4"},{"name":"tail_4","nodeType":"YulIdentifier","src":"3291:6:4"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3257:17:4"},"nodeType":"YulFunctionCall","src":"3257:41:4"},"variables":[{"name":"tail_5","nodeType":"YulTypedName","src":"3247:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3311:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3321:4:4","type":"","value":"0xe0"},"variables":[{"name":"_9","nodeType":"YulTypedName","src":"3315:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3338:40:4","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3370:2:4"},{"name":"_9","nodeType":"YulIdentifier","src":"3374:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3366:3:4"},"nodeType":"YulFunctionCall","src":"3366:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3360:5:4"},"nodeType":"YulFunctionCall","src":"3360:18:4"},"variables":[{"name":"memberValue0_3","nodeType":"YulTypedName","src":"3342:14:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3402:6:4"},{"name":"_9","nodeType":"YulIdentifier","src":"3410:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3398:3:4"},"nodeType":"YulFunctionCall","src":"3398:15:4"},{"arguments":[{"name":"tail_5","nodeType":"YulIdentifier","src":"3419:6:4"},{"name":"tail_2","nodeType":"YulIdentifier","src":"3427:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3415:3:4"},"nodeType":"YulFunctionCall","src":"3415:19:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3391:6:4"},"nodeType":"YulFunctionCall","src":"3391:44:4"},"nodeType":"YulExpressionStatement","src":"3391:44:4"},{"nodeType":"YulVariableDeclaration","src":"3448:66:4","value":{"arguments":[{"name":"memberValue0_3","nodeType":"YulIdentifier","src":"3491:14:4"},{"name":"tail_5","nodeType":"YulIdentifier","src":"3507:6:4"}],"functionName":{"name":"abi_encode_array_address_dyn","nodeType":"YulIdentifier","src":"3462:28:4"},"nodeType":"YulFunctionCall","src":"3462:52:4"},"variables":[{"name":"tail_6","nodeType":"YulTypedName","src":"3452:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3527:17:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3538:6:4","type":"","value":"0x0100"},"variables":[{"name":"_10","nodeType":"YulTypedName","src":"3531:3:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3557:41:4","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"3589:2:4"},{"name":"_10","nodeType":"YulIdentifier","src":"3593:3:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3585:3:4"},"nodeType":"YulFunctionCall","src":"3585:12:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3579:5:4"},"nodeType":"YulFunctionCall","src":"3579:19:4"},"variables":[{"name":"memberValue0_4","nodeType":"YulTypedName","src":"3561:14:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3622:6:4"},{"name":"_10","nodeType":"YulIdentifier","src":"3630:3:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3618:3:4"},"nodeType":"YulFunctionCall","src":"3618:16:4"},{"arguments":[{"name":"tail_6","nodeType":"YulIdentifier","src":"3640:6:4"},{"name":"tail_2","nodeType":"YulIdentifier","src":"3648:6:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3636:3:4"},"nodeType":"YulFunctionCall","src":"3636:19:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3611:6:4"},"nodeType":"YulFunctionCall","src":"3611:45:4"},"nodeType":"YulExpressionStatement","src":"3611:45:4"},{"nodeType":"YulAssignment","src":"3669:62:4","value":{"arguments":[{"name":"memberValue0_4","nodeType":"YulIdentifier","src":"3708:14:4"},{"name":"tail_6","nodeType":"YulIdentifier","src":"3724:6:4"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"3679:28:4"},"nodeType":"YulFunctionCall","src":"3679:52:4"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"3669:6:4"}]},{"nodeType":"YulAssignment","src":"3744:25:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3758:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"3766:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3754:3:4"},"nodeType":"YulFunctionCall","src":"3754:15:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3744:6:4"}]},{"nodeType":"YulAssignment","src":"3782:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3793:3:4"},{"name":"_1","nodeType":"YulIdentifier","src":"3798:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3789:3:4"},"nodeType":"YulFunctionCall","src":"3789:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3782:3:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2284:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"2287:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2281:2:4"},"nodeType":"YulFunctionCall","src":"2281:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2295:18:4","statements":[{"nodeType":"YulAssignment","src":"2297:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2306:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"2309:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2302:3:4"},"nodeType":"YulFunctionCall","src":"2302:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2297:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"2277:3:4","statements":[]},"src":"2273:1538:4"},{"nodeType":"YulAssignment","src":"3820:14:4","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"3828:6:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3820:4:4"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1873:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1884:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1895:4:4","type":""}],"src":"1691:2149:4"},{"body":{"nodeType":"YulBlock","src":"3877:95:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3894:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3901:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3906:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3897:3:4"},"nodeType":"YulFunctionCall","src":"3897:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3887:6:4"},"nodeType":"YulFunctionCall","src":"3887:31:4"},"nodeType":"YulExpressionStatement","src":"3887:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3934:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3937:4:4","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3927:6:4"},"nodeType":"YulFunctionCall","src":"3927:15:4"},"nodeType":"YulExpressionStatement","src":"3927:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3958:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3961:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3951:6:4"},"nodeType":"YulFunctionCall","src":"3951:15:4"},"nodeType":"YulExpressionStatement","src":"3951:15:4"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3845:127:4"},{"body":{"nodeType":"YulBlock","src":"4030:666:4","statements":[{"body":{"nodeType":"YulBlock","src":"4079:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4088:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4091:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4081:6:4"},"nodeType":"YulFunctionCall","src":"4081:12:4"},"nodeType":"YulExpressionStatement","src":"4081:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4058:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4066:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4054:3:4"},"nodeType":"YulFunctionCall","src":"4054:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"4073:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4050:3:4"},"nodeType":"YulFunctionCall","src":"4050:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4043:6:4"},"nodeType":"YulFunctionCall","src":"4043:35:4"},"nodeType":"YulIf","src":"4040:55:4"},{"nodeType":"YulVariableDeclaration","src":"4104:30:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4127:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4114:12:4"},"nodeType":"YulFunctionCall","src":"4114:20:4"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4108:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4143:28:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4153:18:4","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"4147:2:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"4194:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4196:16:4"},"nodeType":"YulFunctionCall","src":"4196:18:4"},"nodeType":"YulExpressionStatement","src":"4196:18:4"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"4186:2:4"},{"name":"_2","nodeType":"YulIdentifier","src":"4190:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4183:2:4"},"nodeType":"YulFunctionCall","src":"4183:10:4"},"nodeType":"YulIf","src":"4180:36:4"},{"nodeType":"YulVariableDeclaration","src":"4225:17:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4239:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4235:3:4"},"nodeType":"YulFunctionCall","src":"4235:7:4"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"4229:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4251:23:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4271:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4265:5:4"},"nodeType":"YulFunctionCall","src":"4265:9:4"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4255:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4283:71:4","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4305:6:4"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"4329:2:4"},{"kind":"number","nodeType":"YulLiteral","src":"4333:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4325:3:4"},"nodeType":"YulFunctionCall","src":"4325:13:4"},{"name":"_3","nodeType":"YulIdentifier","src":"4340:2:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4321:3:4"},"nodeType":"YulFunctionCall","src":"4321:22:4"},{"kind":"number","nodeType":"YulLiteral","src":"4345:2:4","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4317:3:4"},"nodeType":"YulFunctionCall","src":"4317:31:4"},{"name":"_3","nodeType":"YulIdentifier","src":"4350:2:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4313:3:4"},"nodeType":"YulFunctionCall","src":"4313:40:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4301:3:4"},"nodeType":"YulFunctionCall","src":"4301:53:4"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4287:10:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"4413:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4415:16:4"},"nodeType":"YulFunctionCall","src":"4415:18:4"},"nodeType":"YulExpressionStatement","src":"4415:18:4"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4372:10:4"},{"name":"_2","nodeType":"YulIdentifier","src":"4384:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4369:2:4"},"nodeType":"YulFunctionCall","src":"4369:18:4"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4392:10:4"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4404:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4389:2:4"},"nodeType":"YulFunctionCall","src":"4389:22:4"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4366:2:4"},"nodeType":"YulFunctionCall","src":"4366:46:4"},"nodeType":"YulIf","src":"4363:72:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4451:2:4","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4455:10:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4444:6:4"},"nodeType":"YulFunctionCall","src":"4444:22:4"},"nodeType":"YulExpressionStatement","src":"4444:22:4"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4482:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"4490:2:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4475:6:4"},"nodeType":"YulFunctionCall","src":"4475:18:4"},"nodeType":"YulExpressionStatement","src":"4475:18:4"},{"body":{"nodeType":"YulBlock","src":"4541:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4550:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4553:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4543:6:4"},"nodeType":"YulFunctionCall","src":"4543:12:4"},"nodeType":"YulExpressionStatement","src":"4543:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4516:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"4524:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4512:3:4"},"nodeType":"YulFunctionCall","src":"4512:15:4"},{"kind":"number","nodeType":"YulLiteral","src":"4529:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4508:3:4"},"nodeType":"YulFunctionCall","src":"4508:26:4"},{"name":"end","nodeType":"YulIdentifier","src":"4536:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4505:2:4"},"nodeType":"YulFunctionCall","src":"4505:35:4"},"nodeType":"YulIf","src":"4502:55:4"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4583:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4591:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4579:3:4"},"nodeType":"YulFunctionCall","src":"4579:17:4"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4602:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4610:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4598:3:4"},"nodeType":"YulFunctionCall","src":"4598:17:4"},{"name":"_1","nodeType":"YulIdentifier","src":"4617:2:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4566:12:4"},"nodeType":"YulFunctionCall","src":"4566:54:4"},"nodeType":"YulExpressionStatement","src":"4566:54:4"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4644:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"4652:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4640:3:4"},"nodeType":"YulFunctionCall","src":"4640:15:4"},{"kind":"number","nodeType":"YulLiteral","src":"4657:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4636:3:4"},"nodeType":"YulFunctionCall","src":"4636:26:4"},{"kind":"number","nodeType":"YulLiteral","src":"4664:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4629:6:4"},"nodeType":"YulFunctionCall","src":"4629:37:4"},"nodeType":"YulExpressionStatement","src":"4629:37:4"},{"nodeType":"YulAssignment","src":"4675:15:4","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"4684:6:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"4675:5:4"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4004:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"4012:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"4020:5:4","type":""}],"src":"3977:719:4"},{"body":{"nodeType":"YulBlock","src":"4886:871:4","statements":[{"body":{"nodeType":"YulBlock","src":"4933:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4942:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4945:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4935:6:4"},"nodeType":"YulFunctionCall","src":"4935:12:4"},"nodeType":"YulExpressionStatement","src":"4935:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4907:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4916:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4903:3:4"},"nodeType":"YulFunctionCall","src":"4903:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"4928:3:4","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4899:3:4"},"nodeType":"YulFunctionCall","src":"4899:33:4"},"nodeType":"YulIf","src":"4896:53:4"},{"nodeType":"YulVariableDeclaration","src":"4958:36:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4984:9:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4971:12:4"},"nodeType":"YulFunctionCall","src":"4971:23:4"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4962:5:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5057:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5066:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5069:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5059:6:4"},"nodeType":"YulFunctionCall","src":"5059:12:4"},"nodeType":"YulExpressionStatement","src":"5059:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5016:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5027:5:4"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5042:3:4","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5047:1:4","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5038:3:4"},"nodeType":"YulFunctionCall","src":"5038:11:4"},{"kind":"number","nodeType":"YulLiteral","src":"5051:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5034:3:4"},"nodeType":"YulFunctionCall","src":"5034:19:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5023:3:4"},"nodeType":"YulFunctionCall","src":"5023:31:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5013:2:4"},"nodeType":"YulFunctionCall","src":"5013:42:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5006:6:4"},"nodeType":"YulFunctionCall","src":"5006:50:4"},"nodeType":"YulIf","src":"5003:70:4"},{"nodeType":"YulAssignment","src":"5082:15:4","value":{"name":"value","nodeType":"YulIdentifier","src":"5092:5:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5082:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"5106:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5137:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5148:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5133:3:4"},"nodeType":"YulFunctionCall","src":"5133:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5120:12:4"},"nodeType":"YulFunctionCall","src":"5120:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5110:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5161:28:4","value":{"kind":"number","nodeType":"YulLiteral","src":"5171:18:4","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5165:2:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5216:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5225:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5228:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5218:6:4"},"nodeType":"YulFunctionCall","src":"5218:12:4"},"nodeType":"YulExpressionStatement","src":"5218:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5204:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"5212:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5201:2:4"},"nodeType":"YulFunctionCall","src":"5201:14:4"},"nodeType":"YulIf","src":"5198:34:4"},{"nodeType":"YulAssignment","src":"5241:60:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5273:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5284:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5269:3:4"},"nodeType":"YulFunctionCall","src":"5269:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5293:7:4"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5251:17:4"},"nodeType":"YulFunctionCall","src":"5251:50:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5241:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"5310:48:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5343:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5354:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5339:3:4"},"nodeType":"YulFunctionCall","src":"5339:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5326:12:4"},"nodeType":"YulFunctionCall","src":"5326:32:4"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"5314:8:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5387:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5396:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5399:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5389:6:4"},"nodeType":"YulFunctionCall","src":"5389:12:4"},"nodeType":"YulExpressionStatement","src":"5389:12:4"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"5373:8:4"},{"name":"_1","nodeType":"YulIdentifier","src":"5383:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5370:2:4"},"nodeType":"YulFunctionCall","src":"5370:16:4"},"nodeType":"YulIf","src":"5367:36:4"},{"nodeType":"YulAssignment","src":"5412:62:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5444:9:4"},{"name":"offset_1","nodeType":"YulIdentifier","src":"5455:8:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5440:3:4"},"nodeType":"YulFunctionCall","src":"5440:24:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5466:7:4"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5422:17:4"},"nodeType":"YulFunctionCall","src":"5422:52:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5412:6:4"}]},{"nodeType":"YulAssignment","src":"5483:42:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5510:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5521:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5506:3:4"},"nodeType":"YulFunctionCall","src":"5506:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5493:12:4"},"nodeType":"YulFunctionCall","src":"5493:32:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5483:6:4"}]},{"nodeType":"YulAssignment","src":"5534:43:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5561:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5572:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5557:3:4"},"nodeType":"YulFunctionCall","src":"5557:19:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5544:12:4"},"nodeType":"YulFunctionCall","src":"5544:33:4"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"5534:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"5586:49:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5619:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5630:3:4","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5615:3:4"},"nodeType":"YulFunctionCall","src":"5615:19:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5602:12:4"},"nodeType":"YulFunctionCall","src":"5602:33:4"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"5590:8:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5664:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5673:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5676:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5666:6:4"},"nodeType":"YulFunctionCall","src":"5666:12:4"},"nodeType":"YulExpressionStatement","src":"5666:12:4"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"5650:8:4"},{"name":"_1","nodeType":"YulIdentifier","src":"5660:2:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5647:2:4"},"nodeType":"YulFunctionCall","src":"5647:16:4"},"nodeType":"YulIf","src":"5644:36:4"},{"nodeType":"YulAssignment","src":"5689:62:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5721:9:4"},{"name":"offset_2","nodeType":"YulIdentifier","src":"5732:8:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5717:3:4"},"nodeType":"YulFunctionCall","src":"5717:24:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5743:7:4"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5699:17:4"},"nodeType":"YulFunctionCall","src":"5699:52:4"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"5689:6:4"}]}]},"name":"abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_uint256t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4812:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4823:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4835:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4843:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4851:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4859:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4867:6:4","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4875:6:4","type":""}],"src":"4701:1056:4"},{"body":{"nodeType":"YulBlock","src":"5863:76:4","statements":[{"nodeType":"YulAssignment","src":"5873:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5885:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5896:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5881:3:4"},"nodeType":"YulFunctionCall","src":"5881:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5873:4:4"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5915:9:4"},{"name":"value0","nodeType":"YulIdentifier","src":"5926:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5908:6:4"},"nodeType":"YulFunctionCall","src":"5908:25:4"},"nodeType":"YulExpressionStatement","src":"5908:25:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5832:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5843:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5854:4:4","type":""}],"src":"5762:177:4"},{"body":{"nodeType":"YulBlock","src":"6173:949:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6183:32:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6201:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6212:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6197:3:4"},"nodeType":"YulFunctionCall","src":"6197:18:4"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"6187:6:4","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6231:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6242:2:4","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6224:6:4"},"nodeType":"YulFunctionCall","src":"6224:21:4"},"nodeType":"YulExpressionStatement","src":"6224:21:4"},{"nodeType":"YulVariableDeclaration","src":"6254:17:4","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"6265:6:4"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"6258:3:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6280:27:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6300:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6294:5:4"},"nodeType":"YulFunctionCall","src":"6294:13:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6284:6:4","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"6323:6:4"},{"name":"length","nodeType":"YulIdentifier","src":"6331:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6316:6:4"},"nodeType":"YulFunctionCall","src":"6316:22:4"},"nodeType":"YulExpressionStatement","src":"6316:22:4"},{"nodeType":"YulAssignment","src":"6347:25:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6358:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"6369:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6354:3:4"},"nodeType":"YulFunctionCall","src":"6354:18:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6347:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"6381:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6391:4:4","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6385:2:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6404:29:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6422:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"6430:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6418:3:4"},"nodeType":"YulFunctionCall","src":"6418:15:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6408:6:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6442:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6451:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6446:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6510:146:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6531:3:4"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6546:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6540:5:4"},"nodeType":"YulFunctionCall","src":"6540:13:4"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6563:3:4","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6568:1:4","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6559:3:4"},"nodeType":"YulFunctionCall","src":"6559:11:4"},{"kind":"number","nodeType":"YulLiteral","src":"6572:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6555:3:4"},"nodeType":"YulFunctionCall","src":"6555:19:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6536:3:4"},"nodeType":"YulFunctionCall","src":"6536:39:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6524:6:4"},"nodeType":"YulFunctionCall","src":"6524:52:4"},"nodeType":"YulExpressionStatement","src":"6524:52:4"},{"nodeType":"YulAssignment","src":"6589:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6600:3:4"},{"name":"_1","nodeType":"YulIdentifier","src":"6605:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6596:3:4"},"nodeType":"YulFunctionCall","src":"6596:12:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6589:3:4"}]},{"nodeType":"YulAssignment","src":"6621:25:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6635:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"6643:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6631:3:4"},"nodeType":"YulFunctionCall","src":"6631:15:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6621:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6472:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6475:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6469:2:4"},"nodeType":"YulFunctionCall","src":"6469:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6483:18:4","statements":[{"nodeType":"YulAssignment","src":"6485:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6494:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"6497:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6490:3:4"},"nodeType":"YulFunctionCall","src":"6490:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6485:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"6465:3:4","statements":[]},"src":"6461:195:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6676:9:4"},{"name":"_1","nodeType":"YulIdentifier","src":"6687:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6672:3:4"},"nodeType":"YulFunctionCall","src":"6672:18:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6696:3:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"6701:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6692:3:4"},"nodeType":"YulFunctionCall","src":"6692:19:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6665:6:4"},"nodeType":"YulFunctionCall","src":"6665:47:4"},"nodeType":"YulExpressionStatement","src":"6665:47:4"},{"nodeType":"YulVariableDeclaration","src":"6721:16:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"6734:3:4"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"6725:5:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6746:29:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6768:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6762:5:4"},"nodeType":"YulFunctionCall","src":"6762:13:4"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"6750:8:4","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6791:3:4"},{"name":"length_1","nodeType":"YulIdentifier","src":"6796:8:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6784:6:4"},"nodeType":"YulFunctionCall","src":"6784:21:4"},"nodeType":"YulExpressionStatement","src":"6784:21:4"},{"nodeType":"YulAssignment","src":"6814:21:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6827:3:4"},{"name":"_1","nodeType":"YulIdentifier","src":"6832:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6823:3:4"},"nodeType":"YulFunctionCall","src":"6823:12:4"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"6814:5:4"}]},{"nodeType":"YulVariableDeclaration","src":"6844:31:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6864:6:4"},{"name":"_1","nodeType":"YulIdentifier","src":"6872:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6860:3:4"},"nodeType":"YulFunctionCall","src":"6860:15:4"},"variables":[{"name":"srcPtr_1","nodeType":"YulTypedName","src":"6848:8:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6884:12:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6895:1:4","type":"","value":"0"},"variables":[{"name":"i_1","nodeType":"YulTypedName","src":"6888:3:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6962:132:4","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"6983:5:4"},{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"6996:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6990:5:4"},"nodeType":"YulFunctionCall","src":"6990:15:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6976:6:4"},"nodeType":"YulFunctionCall","src":"6976:30:4"},"nodeType":"YulExpressionStatement","src":"6976:30:4"},{"nodeType":"YulAssignment","src":"7019:23:4","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"7032:5:4"},{"name":"_1","nodeType":"YulIdentifier","src":"7039:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7028:3:4"},"nodeType":"YulFunctionCall","src":"7028:14:4"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"7019:5:4"}]},{"nodeType":"YulAssignment","src":"7055:29:4","value":{"arguments":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"7071:8:4"},{"name":"_1","nodeType":"YulIdentifier","src":"7081:2:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7067:3:4"},"nodeType":"YulFunctionCall","src":"7067:17:4"},"variableNames":[{"name":"srcPtr_1","nodeType":"YulIdentifier","src":"7055:8:4"}]}]},"condition":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"6916:3:4"},{"name":"length_1","nodeType":"YulIdentifier","src":"6921:8:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6913:2:4"},"nodeType":"YulFunctionCall","src":"6913:17:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6931:22:4","statements":[{"nodeType":"YulAssignment","src":"6933:18:4","value":{"arguments":[{"name":"i_1","nodeType":"YulIdentifier","src":"6944:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6949:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6940:3:4"},"nodeType":"YulFunctionCall","src":"6940:11:4"},"variableNames":[{"name":"i_1","nodeType":"YulIdentifier","src":"6933:3:4"}]}]},"pre":{"nodeType":"YulBlock","src":"6909:3:4","statements":[]},"src":"6905:189:4"},{"nodeType":"YulAssignment","src":"7103:13:4","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"7111:5:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7103:4:4"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6134:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6145:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6153:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6164:4:4","type":""}],"src":"5944:1178:4"},{"body":{"nodeType":"YulBlock","src":"7456:532:4","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7473:9:4"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7488:6:4"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7504:3:4","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7509:1:4","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7500:3:4"},"nodeType":"YulFunctionCall","src":"7500:11:4"},{"kind":"number","nodeType":"YulLiteral","src":"7513:1:4","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7496:3:4"},"nodeType":"YulFunctionCall","src":"7496:19:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7484:3:4"},"nodeType":"YulFunctionCall","src":"7484:32:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7466:6:4"},"nodeType":"YulFunctionCall","src":"7466:51:4"},"nodeType":"YulExpressionStatement","src":"7466:51:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7537:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7548:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7533:3:4"},"nodeType":"YulFunctionCall","src":"7533:18:4"},{"kind":"number","nodeType":"YulLiteral","src":"7553:3:4","type":"","value":"224"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7526:6:4"},"nodeType":"YulFunctionCall","src":"7526:31:4"},"nodeType":"YulExpressionStatement","src":"7526:31:4"},{"nodeType":"YulVariableDeclaration","src":"7566:60:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7598:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7610:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7621:3:4","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7606:3:4"},"nodeType":"YulFunctionCall","src":"7606:19:4"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"7580:17:4"},"nodeType":"YulFunctionCall","src":"7580:46:4"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"7570:6:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7646:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7657:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7642:3:4"},"nodeType":"YulFunctionCall","src":"7642:18:4"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"7666:6:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"7674:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7662:3:4"},"nodeType":"YulFunctionCall","src":"7662:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7635:6:4"},"nodeType":"YulFunctionCall","src":"7635:50:4"},"nodeType":"YulExpressionStatement","src":"7635:50:4"},{"nodeType":"YulVariableDeclaration","src":"7694:47:4","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"7726:6:4"},{"name":"tail_1","nodeType":"YulIdentifier","src":"7734:6:4"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"7708:17:4"},"nodeType":"YulFunctionCall","src":"7708:33:4"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"7698:6:4","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7761:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7772:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7757:3:4"},"nodeType":"YulFunctionCall","src":"7757:18:4"},{"name":"value3","nodeType":"YulIdentifier","src":"7777:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7750:6:4"},"nodeType":"YulFunctionCall","src":"7750:34:4"},"nodeType":"YulExpressionStatement","src":"7750:34:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7804:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7815:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7800:3:4"},"nodeType":"YulFunctionCall","src":"7800:19:4"},{"name":"value4","nodeType":"YulIdentifier","src":"7821:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7793:6:4"},"nodeType":"YulFunctionCall","src":"7793:35:4"},"nodeType":"YulExpressionStatement","src":"7793:35:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7848:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7859:3:4","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7844:3:4"},"nodeType":"YulFunctionCall","src":"7844:19:4"},{"name":"value5","nodeType":"YulIdentifier","src":"7865:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7837:6:4"},"nodeType":"YulFunctionCall","src":"7837:35:4"},"nodeType":"YulExpressionStatement","src":"7837:35:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7892:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"7903:3:4","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7888:3:4"},"nodeType":"YulFunctionCall","src":"7888:19:4"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"7913:6:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"7921:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7909:3:4"},"nodeType":"YulFunctionCall","src":"7909:22:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7881:6:4"},"nodeType":"YulFunctionCall","src":"7881:51:4"},"nodeType":"YulExpressionStatement","src":"7881:51:4"},{"nodeType":"YulAssignment","src":"7941:41:4","value":{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"7967:6:4"},{"name":"tail_2","nodeType":"YulIdentifier","src":"7975:6:4"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"7949:17:4"},"nodeType":"YulFunctionCall","src":"7949:33:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7941:4:4"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_string_memory_ptr__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7377:9:4","type":""},{"name":"value6","nodeType":"YulTypedName","src":"7388:6:4","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7396:6:4","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7404:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7412:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7420:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7428:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7436:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7447:4:4","type":""}],"src":"7127:861:4"},{"body":{"nodeType":"YulBlock","src":"8184:14:4","statements":[{"nodeType":"YulAssignment","src":"8186:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"8193:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8186:3:4"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8168:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8176:3:4","type":""}],"src":"7993:205:4"},{"body":{"nodeType":"YulBlock","src":"8235:95:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8252:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8259:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8264:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8255:3:4"},"nodeType":"YulFunctionCall","src":"8255:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8245:6:4"},"nodeType":"YulFunctionCall","src":"8245:31:4"},"nodeType":"YulExpressionStatement","src":"8245:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8292:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8295:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8285:6:4"},"nodeType":"YulFunctionCall","src":"8285:15:4"},"nodeType":"YulExpressionStatement","src":"8285:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8316:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8319:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8309:6:4"},"nodeType":"YulFunctionCall","src":"8309:15:4"},"nodeType":"YulExpressionStatement","src":"8309:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"8203:127:4"},{"body":{"nodeType":"YulBlock","src":"8383:80:4","statements":[{"body":{"nodeType":"YulBlock","src":"8410:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8412:16:4"},"nodeType":"YulFunctionCall","src":"8412:18:4"},"nodeType":"YulExpressionStatement","src":"8412:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8399:1:4"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"8406:1:4"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8402:3:4"},"nodeType":"YulFunctionCall","src":"8402:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8396:2:4"},"nodeType":"YulFunctionCall","src":"8396:13:4"},"nodeType":"YulIf","src":"8393:39:4"},{"nodeType":"YulAssignment","src":"8441:16:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8452:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"8455:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8448:3:4"},"nodeType":"YulFunctionCall","src":"8448:9:4"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"8441:3:4"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8366:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"8369:1:4","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"8375:3:4","type":""}],"src":"8335:128:4"},{"body":{"nodeType":"YulBlock","src":"8523:325:4","statements":[{"nodeType":"YulAssignment","src":"8533:22:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8547:1:4","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"8550:4:4"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"8543:3:4"},"nodeType":"YulFunctionCall","src":"8543:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8533:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"8564:38:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"8594:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"8600:1:4","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8590:3:4"},"nodeType":"YulFunctionCall","src":"8590:12:4"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"8568:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"8641:31:4","statements":[{"nodeType":"YulAssignment","src":"8643:27:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8657:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"8665:4:4","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8653:3:4"},"nodeType":"YulFunctionCall","src":"8653:17:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8643:6:4"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"8621:18:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8614:6:4"},"nodeType":"YulFunctionCall","src":"8614:26:4"},"nodeType":"YulIf","src":"8611:61:4"},{"body":{"nodeType":"YulBlock","src":"8731:111:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8752:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8759:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8764:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8755:3:4"},"nodeType":"YulFunctionCall","src":"8755:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8745:6:4"},"nodeType":"YulFunctionCall","src":"8745:31:4"},"nodeType":"YulExpressionStatement","src":"8745:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8796:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8799:4:4","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8789:6:4"},"nodeType":"YulFunctionCall","src":"8789:15:4"},"nodeType":"YulExpressionStatement","src":"8789:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8824:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8827:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8817:6:4"},"nodeType":"YulFunctionCall","src":"8817:15:4"},"nodeType":"YulExpressionStatement","src":"8817:15:4"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"8687:18:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8710:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"8718:2:4","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8707:2:4"},"nodeType":"YulFunctionCall","src":"8707:14:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8684:2:4"},"nodeType":"YulFunctionCall","src":"8684:38:4"},"nodeType":"YulIf","src":"8681:161:4"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"8503:4:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"8512:6:4","type":""}],"src":"8468:380:4"},{"body":{"nodeType":"YulBlock","src":"8885:95:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8902:1:4","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8909:3:4","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8914:10:4","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8905:3:4"},"nodeType":"YulFunctionCall","src":"8905:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8895:6:4"},"nodeType":"YulFunctionCall","src":"8895:31:4"},"nodeType":"YulExpressionStatement","src":"8895:31:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8942:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8945:4:4","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8935:6:4"},"nodeType":"YulFunctionCall","src":"8935:15:4"},"nodeType":"YulExpressionStatement","src":"8935:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8966:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8969:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8959:6:4"},"nodeType":"YulFunctionCall","src":"8959:15:4"},"nodeType":"YulExpressionStatement","src":"8959:15:4"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"8853:127:4"},{"body":{"nodeType":"YulBlock","src":"9032:88:4","statements":[{"body":{"nodeType":"YulBlock","src":"9063:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9065:16:4"},"nodeType":"YulFunctionCall","src":"9065:18:4"},"nodeType":"YulExpressionStatement","src":"9065:18:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9048:5:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9059:1:4","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9055:3:4"},"nodeType":"YulFunctionCall","src":"9055:6:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"9045:2:4"},"nodeType":"YulFunctionCall","src":"9045:17:4"},"nodeType":"YulIf","src":"9042:43:4"},{"nodeType":"YulAssignment","src":"9094:20:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9105:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"9112:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9101:3:4"},"nodeType":"YulFunctionCall","src":"9101:13:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"9094:3:4"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9014:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"9024:3:4","type":""}],"src":"8985:135:4"},{"body":{"nodeType":"YulBlock","src":"9299:233:4","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9316:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9327:2:4","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9309:6:4"},"nodeType":"YulFunctionCall","src":"9309:21:4"},"nodeType":"YulExpressionStatement","src":"9309:21:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9350:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9361:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9346:3:4"},"nodeType":"YulFunctionCall","src":"9346:18:4"},{"kind":"number","nodeType":"YulLiteral","src":"9366:2:4","type":"","value":"43"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9339:6:4"},"nodeType":"YulFunctionCall","src":"9339:30:4"},"nodeType":"YulExpressionStatement","src":"9339:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9389:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9400:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9385:3:4"},"nodeType":"YulFunctionCall","src":"9385:18:4"},{"hexValue":"54686520646561646c696e652073686f756c642062652061206461746520696e","kind":"string","nodeType":"YulLiteral","src":"9405:34:4","type":"","value":"The deadline should be a date in"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9378:6:4"},"nodeType":"YulFunctionCall","src":"9378:62:4"},"nodeType":"YulExpressionStatement","src":"9378:62:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9460:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9471:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9456:3:4"},"nodeType":"YulFunctionCall","src":"9456:18:4"},{"hexValue":"2074686520667574757265","kind":"string","nodeType":"YulLiteral","src":"9476:13:4","type":"","value":" the future"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9449:6:4"},"nodeType":"YulFunctionCall","src":"9449:41:4"},"nodeType":"YulExpressionStatement","src":"9449:41:4"},{"nodeType":"YulAssignment","src":"9499:27:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9511:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"9522:3:4","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9507:3:4"},"nodeType":"YulFunctionCall","src":"9507:19:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9499:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_cdbf0d34bba52c37cdad39ed7b038c6bba452acc7c71023f129a9b273b62b2aa__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9276:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9290:4:4","type":""}],"src":"9125:407:4"},{"body":{"nodeType":"YulBlock","src":"9586:76:4","statements":[{"body":{"nodeType":"YulBlock","src":"9608:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9610:16:4"},"nodeType":"YulFunctionCall","src":"9610:18:4"},"nodeType":"YulExpressionStatement","src":"9610:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9602:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"9605:1:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9599:2:4"},"nodeType":"YulFunctionCall","src":"9599:8:4"},"nodeType":"YulIf","src":"9596:34:4"},{"nodeType":"YulAssignment","src":"9639:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9651:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"9654:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9647:3:4"},"nodeType":"YulFunctionCall","src":"9647:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"9639:4:4"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9568:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"9571:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"9577:4:4","type":""}],"src":"9537:125:4"}]},"contents":"{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_address(value, pos)\n {\n mstore(pos, and(value, sub(shl(160, 1), 1)))\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(pos, length), 0x20), 0)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_array_address_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_array_uint256_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_tuple_t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Classification_$406_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n let _2 := 64\n pos := add(headStart, _2)\n let tail_2 := add(add(headStart, shl(5, length)), _2)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(63)))\n let _3 := mload(srcPtr)\n let _4 := 0x0120\n abi_encode_address(mload(_3), tail_2)\n let memberValue0 := mload(add(_3, _1))\n mstore(add(tail_2, _1), _4)\n let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n let memberValue0_1 := mload(add(_3, _2))\n mstore(add(tail_2, _2), sub(tail_3, tail_2))\n let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n let _5 := 0x60\n mstore(add(tail_2, _5), mload(add(_3, _5)))\n let _6 := 0x80\n mstore(add(tail_2, _6), mload(add(_3, _6)))\n let _7 := 0xa0\n mstore(add(tail_2, _7), mload(add(_3, _7)))\n let _8 := 0xc0\n let memberValue0_2 := mload(add(_3, _8))\n mstore(add(tail_2, _8), sub(tail_4, tail_2))\n let tail_5 := abi_encode_string(memberValue0_2, tail_4)\n let _9 := 0xe0\n let memberValue0_3 := mload(add(_3, _9))\n mstore(add(tail_2, _9), sub(tail_5, tail_2))\n let tail_6 := abi_encode_array_address_dyn(memberValue0_3, tail_5)\n let _10 := 0x0100\n let memberValue0_4 := mload(add(_3, _10))\n mstore(add(tail_2, _10), sub(tail_6, tail_2))\n tail_2 := abi_encode_array_uint256_dyn(memberValue0_4, tail_6)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n tail := tail_2\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0xffffffffffffffff\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), add(offset, 0x20), _1)\n mstore(add(add(memPtr, _1), 0x20), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_uint256t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\n value3 := calldataload(add(headStart, 96))\n value4 := calldataload(add(headStart, 128))\n let offset_2 := calldataload(add(headStart, 160))\n if gt(offset_2, _1) { revert(0, 0) }\n value5 := abi_decode_string(add(headStart, offset_2), dataEnd)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 64)\n mstore(headStart, 64)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 96)\n let _1 := 0x20\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n mstore(add(headStart, _1), sub(pos, headStart))\n let pos_1 := pos\n let length_1 := mload(value1)\n mstore(pos, length_1)\n pos_1 := add(pos, _1)\n let srcPtr_1 := add(value1, _1)\n let i_1 := 0\n for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n {\n mstore(pos_1, mload(srcPtr_1))\n pos_1 := add(pos_1, _1)\n srcPtr_1 := add(srcPtr_1, _1)\n }\n tail := pos_1\n }\n function abi_encode_tuple_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_string_memory_ptr__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), 224)\n let tail_1 := abi_encode_string(value1, add(headStart, 224))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value2, tail_1)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), sub(tail_2, headStart))\n tail := abi_encode_string(value6, tail_2)\n }\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n { end := pos }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_cdbf0d34bba52c37cdad39ed7b038c6bba452acc7c71023f129a9b273b62b2aa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"The deadline should be a date in\")\n mstore(add(headStart, 96), \" the future\")\n tail := add(headStart, 128)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n}","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052600436106100555760003560e01c8063045c6ce01461005a57806362564c481461006f5780636ceae4d11461009a57806385f25a00146100c857806386b646f2146100de578063a88949301461010c575b600080fd5b61006d610068366004610a0e565b61013f565b005b34801561007b57600080fd5b50610084610201565b6040516100919190610ae8565b60405180910390f35b3480156100a657600080fd5b506100ba6100b5366004610c98565b6105ae565b604051908152602001610091565b3480156100d457600080fd5b506100ba60015481565b3480156100ea57600080fd5b506100fe6100f9366004610a0e565b6106c9565b604051610091929190610d51565b34801561011857600080fd5b5061012c610127366004610a0e565b610798565b6040516100919796959493929190610dd5565b600081815260208181526040808320600781018054600180820183559186528486200180546001600160a01b0319163317905560088201805491820181558552928420349301839055805491519293909290916001600160a01b03169084908381818185875af1925050503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5050905080156101fb578282600501546101f59190610e55565b60058301555b50505050565b6060600060015467ffffffffffffffff81111561022057610220610bf5565b6040519080825280602002602001820160405280156102a957816020015b61029660405180610120016040528060006001600160a01b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b81526020019060019003908161023e5790505b50905060005b6001548110156105a857600081815260208181526040918290208251610120810190935280546001600160a01b03168352600181018054919392849290840191906102f990610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461032590610e6d565b80156103725780601f1061034757610100808354040283529160200191610372565b820191906000526020600020905b81548152906001019060200180831161035557829003601f168201915b5050505050815260200160028201805461038b90610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546103b790610e6d565b80156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050815260200160038201548152602001600482015481526020016005820154815260200160068201805461043b90610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461046790610e6d565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b505050505081526020016007820180548060200260200160405190810160405280929190818152602001828054801561051657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104f8575b505050505081526020016008820180548060200260200160405190810160405280929190818152602001828054801561056e57602002820191906000526020600020905b81548152602001906001019080831161055a575b50505050508152505083838151811061058957610589610ea2565b60200260200101819052505080806105a090610eb8565b9150506102af565b50919050565b60015460009081526020819052604081206004810154421161062a5760405162461bcd60e51b815260206004820152602b60248201527f54686520646561646c696e652073686f756c642062652061206461746520696e60448201526a207468652066757475726560a81b606482015260840160405180910390fd5b80546001600160a01b0319166001600160a01b038916178155865161065890600183019060208a0190610975565b50855161066e9060028301906020890190610975565b5060038101859055600481018490556000600582015582516106999060068301906020860190610975565b50600180549060006106aa83610eb8565b9190505550600180546106bd9190610ed3565b98975050505050505050565b6000818152602081815260409182902060078101805484518185028101850190955280855260609485949293600801929091849183018282801561073657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610718575b505050505091508080548060200260200160405190810160405280929190818152602001828054801561078857602002820191906000526020600020905b815481526020019060010190808311610774575b5050505050905091509150915091565b600060208190529081526040902080546001820180546001600160a01b0390921692916107c490610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546107f090610e6d565b801561083d5780601f106108125761010080835404028352916020019161083d565b820191906000526020600020905b81548152906001019060200180831161082057829003601f168201915b50505050509080600201805461085290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90610e6d565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050908060030154908060040154908060050154908060060180546108f290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461091e90610e6d565b801561096b5780601f106109405761010080835404028352916020019161096b565b820191906000526020600020905b81548152906001019060200180831161094e57829003601f168201915b5050505050905087565b82805461098190610e6d565b90600052602060002090601f0160209004810192826109a357600085556109e9565b82601f106109bc57805160ff19168380011785556109e9565b828001600101855582156109e9579182015b828111156109e95782518255916020019190600101906109ce565b506109f59291506109f9565b5090565b5b808211156109f557600081556001016109fa565b600060208284031215610a2057600080fd5b5035919050565b6000815180845260005b81811015610a4d57602081850181015186830182015201610a31565b81811115610a5f576000602083870101525b50601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b83811015610aad5781516001600160a01b031687529582019590820190600101610a88565b509495945050505050565b600081518084526020808501945080840160005b83811015610aad57815187529582019590820190600101610acc565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610be757888303603f19018552815180516001600160a01b0316845261012088820151818a870152610b4782870182610a27565b9150508782015185820389870152610b5f8282610a27565b606084810151908801526080808501519088015260a0808501519088015260c080850151888303828a01529193509150610b998382610a27565b9250505060e08083015186830382880152610bb48382610a74565b925050506101008083015192508582038187015250610bd38183610ab8565b968901969450505090860190600101610b0f565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c1c57600080fd5b813567ffffffffffffffff80821115610c3757610c37610bf5565b604051601f8301601f19908116603f01168101908282118183101715610c5f57610c5f610bf5565b81604052838152866020858801011115610c7857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215610cb157600080fd5b86356001600160a01b0381168114610cc857600080fd5b9550602087013567ffffffffffffffff80821115610ce557600080fd5b610cf18a838b01610c0b565b96506040890135915080821115610d0757600080fd5b610d138a838b01610c0b565b9550606089013594506080890135935060a0890135915080821115610d3757600080fd5b50610d4489828a01610c0b565b9150509295509295509295565b604080825283519082018190526000906020906060840190828701845b82811015610d935781516001600160a01b031684529284019290840190600101610d6e565b5050508381038285015284518082528583019183019060005b81811015610dc857835183529284019291840191600101610dac565b5090979650505050505050565b6001600160a01b038816815260e060208201819052600090610df990830189610a27565b8281036040840152610e0b8189610a27565b90508660608401528560808401528460a084015282810360c0840152610e318185610a27565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610e6857610e68610e3f565b500190565b600181811c90821680610e8157607f821691505b602082108114156105a857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600019821415610ecc57610ecc610e3f565b5060010190565b600082821015610ee557610ee5610e3f565b50039056fea2646970667358221220c3540924668b7454f9265c09af82295888327e2f8610ac05fd1df6f66022142564736f6c634300080b0033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x45C6CE0 EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x62564C48 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x6CEAE4D1 EQ PUSH2 0x9A JUMPI DUP1 PUSH4 0x85F25A00 EQ PUSH2 0xC8 JUMPI DUP1 PUSH4 0x86B646F2 EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0xA8894930 EQ PUSH2 0x10C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6D PUSH2 0x68 CALLDATASIZE PUSH1 0x4 PUSH2 0xA0E JUMP JUMPDEST PUSH2 0x13F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x84 PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x91 SWAP2 SWAP1 PUSH2 0xAE8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xB5 CALLDATASIZE PUSH1 0x4 PUSH2 0xC98 JUMP JUMPDEST PUSH2 0x5AE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x91 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFE PUSH2 0xF9 CALLDATASIZE PUSH1 0x4 PUSH2 0xA0E JUMP JUMPDEST PUSH2 0x6C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x91 SWAP3 SWAP2 SWAP1 PUSH2 0xD51 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12C PUSH2 0x127 CALLDATASIZE PUSH1 0x4 PUSH2 0xA0E JUMP JUMPDEST PUSH2 0x798 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x91 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x7 DUP2 ADD DUP1 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP4 SSTORE SWAP2 DUP7 MSTORE DUP5 DUP7 KECCAK256 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH1 0x8 DUP3 ADD DUP1 SLOAD SWAP2 DUP3 ADD DUP2 SSTORE DUP6 MSTORE SWAP3 DUP5 KECCAK256 CALLVALUE SWAP4 ADD DUP4 SWAP1 SSTORE DUP1 SLOAD SWAP2 MLOAD SWAP3 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP5 SWAP1 DUP4 DUP2 DUP2 DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1D6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 ISZERO PUSH2 0x1FB JUMPI DUP3 DUP3 PUSH1 0x5 ADD SLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0xE55 JUMP JUMPDEST PUSH1 0x5 DUP4 ADD SSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x220 JUMPI PUSH2 0x220 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2A9 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x296 PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x23E JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x1 SLOAD DUP2 LT ISZERO PUSH2 0x5A8 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x120 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP4 SWAP3 DUP5 SWAP3 SWAP1 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2F9 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x325 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x372 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x347 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x372 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x355 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x38B SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3B7 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x404 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x404 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x6 DUP3 ADD DUP1 SLOAD PUSH2 0x43B SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x467 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x489 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x497 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x7 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x516 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F8 JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x8 DUP3 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x56E JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x55A JUMPI JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x589 JUMPI PUSH2 0x589 PUSH2 0xEA2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP POP DUP1 DUP1 PUSH2 0x5A0 SWAP1 PUSH2 0xEB8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2AF JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x4 DUP2 ADD SLOAD TIMESTAMP GT PUSH2 0x62A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54686520646561646C696E652073686F756C642062652061206461746520696E PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x2074686520667574757265 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR DUP2 SSTORE DUP7 MLOAD PUSH2 0x658 SWAP1 PUSH1 0x1 DUP4 ADD SWAP1 PUSH1 0x20 DUP11 ADD SWAP1 PUSH2 0x975 JUMP JUMPDEST POP DUP6 MLOAD PUSH2 0x66E SWAP1 PUSH1 0x2 DUP4 ADD SWAP1 PUSH1 0x20 DUP10 ADD SWAP1 PUSH2 0x975 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP6 SWAP1 SSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x0 PUSH1 0x5 DUP3 ADD SSTORE DUP3 MLOAD PUSH2 0x699 SWAP1 PUSH1 0x6 DUP4 ADD SWAP1 PUSH1 0x20 DUP7 ADD SWAP1 PUSH2 0x975 JUMP JUMPDEST POP PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x6AA DUP4 PUSH2 0xEB8 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x1 DUP1 SLOAD PUSH2 0x6BD SWAP2 SWAP1 PUSH2 0xED3 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 PUSH1 0x7 DUP2 ADD DUP1 SLOAD DUP5 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP6 MSTORE DUP1 DUP6 MSTORE PUSH1 0x60 SWAP5 DUP6 SWAP5 SWAP3 SWAP4 PUSH1 0x8 ADD SWAP3 SWAP1 SWAP2 DUP5 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x736 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP DUP1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x788 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x774 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 POP SWAP2 POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x7C4 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7F0 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x83D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x812 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x83D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x820 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x852 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x87E SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x8CB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8A0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x8CB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8AE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 DUP1 PUSH1 0x6 ADD DUP1 SLOAD PUSH2 0x8F2 SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x91E SWAP1 PUSH2 0xE6D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x96B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x940 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x96B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x94E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP8 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x981 SWAP1 PUSH2 0xE6D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x9A3 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x9E9 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x9BC JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x9E9 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x9E9 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x9E9 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x9CE JUMP JUMPDEST POP PUSH2 0x9F5 SWAP3 SWAP2 POP PUSH2 0x9F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x9F5 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x9FA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA4D JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0xA31 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0xA5F JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xAAD JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xA88 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xAAD JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xACC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBE7 JUMPI DUP9 DUP4 SUB PUSH1 0x3F NOT ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE PUSH2 0x120 DUP9 DUP3 ADD MLOAD DUP2 DUP11 DUP8 ADD MSTORE PUSH2 0xB47 DUP3 DUP8 ADD DUP3 PUSH2 0xA27 JUMP JUMPDEST SWAP2 POP POP DUP8 DUP3 ADD MLOAD DUP6 DUP3 SUB DUP10 DUP8 ADD MSTORE PUSH2 0xB5F DUP3 DUP3 PUSH2 0xA27 JUMP JUMPDEST PUSH1 0x60 DUP5 DUP2 ADD MLOAD SWAP1 DUP9 ADD MSTORE PUSH1 0x80 DUP1 DUP6 ADD MLOAD SWAP1 DUP9 ADD MSTORE PUSH1 0xA0 DUP1 DUP6 ADD MLOAD SWAP1 DUP9 ADD MSTORE PUSH1 0xC0 DUP1 DUP6 ADD MLOAD DUP9 DUP4 SUB DUP3 DUP11 ADD MSTORE SWAP2 SWAP4 POP SWAP2 POP PUSH2 0xB99 DUP4 DUP3 PUSH2 0xA27 JUMP JUMPDEST SWAP3 POP POP POP PUSH1 0xE0 DUP1 DUP4 ADD MLOAD DUP7 DUP4 SUB DUP3 DUP9 ADD MSTORE PUSH2 0xBB4 DUP4 DUP3 PUSH2 0xA74 JUMP JUMPDEST SWAP3 POP POP POP PUSH2 0x100 DUP1 DUP4 ADD MLOAD SWAP3 POP DUP6 DUP3 SUB DUP2 DUP8 ADD MSTORE POP PUSH2 0xBD3 DUP2 DUP4 PUSH2 0xAB8 JUMP JUMPDEST SWAP7 DUP10 ADD SWAP7 SWAP5 POP POP POP SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xB0F JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xC1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC37 JUMPI PUSH2 0xC37 PUSH2 0xBF5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xC5F JUMPI PUSH2 0xC5F PUSH2 0xBF5 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0xC78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0xCB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xCC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xCE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCF1 DUP11 DUP4 DUP12 ADD PUSH2 0xC0B JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xD07 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD13 DUP11 DUP4 DUP12 ADD PUSH2 0xC0B JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP5 POP PUSH1 0x80 DUP10 ADD CALLDATALOAD SWAP4 POP PUSH1 0xA0 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xD37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD44 DUP10 DUP3 DUP11 ADD PUSH2 0xC0B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x40 DUP1 DUP3 MSTORE DUP4 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0x60 DUP5 ADD SWAP1 DUP3 DUP8 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xD93 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xD6E JUMP JUMPDEST POP POP POP DUP4 DUP2 SUB DUP3 DUP6 ADD MSTORE DUP5 MLOAD DUP1 DUP3 MSTORE DUP6 DUP4 ADD SWAP2 DUP4 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xDC8 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xDAC JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND DUP2 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0xDF9 SWAP1 DUP4 ADD DUP10 PUSH2 0xA27 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xE0B DUP2 DUP10 PUSH2 0xA27 JUMP JUMPDEST SWAP1 POP DUP7 PUSH1 0x60 DUP5 ADD MSTORE DUP6 PUSH1 0x80 DUP5 ADD MSTORE DUP5 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0xE31 DUP2 DUP6 PUSH2 0xA27 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xE68 JUMPI PUSH2 0xE68 PUSH2 0xE3F JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xE81 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x5A8 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0xECC JUMPI PUSH2 0xECC PUSH2 0xE3F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xEE5 JUMPI PUSH2 0xEE5 PUSH2 0xE3F JUMP JUMPDEST POP SUB SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC3 SLOAD MULMOD 0x24 PUSH7 0x8B7454F9265C09 0xAF DUP3 0x29 PC DUP9 ORIGIN PUSH31 0x2F8610AC05FD1DF6F66022142564736F6C634300080B003300000000000000 ","sourceMap":"65:3117:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1667:728;;;;;;:::i;:::-;;:::i;:::-;;2615:565;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;732:929;;;;;;;;;;-1:-1:-1;732:929:3;;;;;:::i;:::-;;:::i;:::-;;;5908:25:4;;;5896:2;5881:18;732:929:3;5762:177:4;679:42:3;;;;;;;;;;;;;;;;2401:208;;;;;;;;;;-1:-1:-1;2401:208:3;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;616:57::-;;;;;;;;;;-1:-1:-1;616:57:3;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;1667:728::-;1800:14;1987:20;;;;;;;;;;;2026:21;;;:38;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2026:38:3;2053:10;2026:38;;;2112:20;;;:33;;;;;;;;;;;;1817:9;2112:33;;;;;2227:20;;2219:53;;1817:9;;1987:20;;1800:14;;-1:-1:-1;;;;;2227:20:3;;1817:9;;1800:14;2219:53;1800:14;2219:53;1817:9;2227:20;2219:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2204:68;;;2286:4;2282:107;;;2372:6;2339:14;:30;;;:39;;;;:::i;:::-;2306:30;;;:72;2282:107;1720:675;;;1667:728;:::o;2615:565::-;2659:23;2719:42;2785:23;;2764:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:45:3;;;;;;;;;;;;;;;;;2719:90;;2898:6;2893:245;2914:23;;2910:1;:27;2893:245;;;2958:27;2988:18;;;;;;;;;;;;3020:28;;;;;;;;;;-1:-1:-1;;;;;3020:28:3;;;;;;;;2988:18;;3020:28;2988:18;;3020:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3020:28:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;3039:1;3020:21;;;;;;;;:::i;:::-;;;;;;:28;;;;2944:194;2939:3;;;;;:::i;:::-;;;;2893:245;;;-1:-1:-1;3155:18:3;2615:565;-1:-1:-1;2615:565:3:o;732:929::-;1018:23;;896:7;1002:40;;;;;;;;;;1099:23;;;;1125:15;-1:-1:-1;1091:97:3;;;;-1:-1:-1;;;1091:97:3;;9327:2:4;1091:97:3;;;9309:21:4;9366:2;9346:18;;;9339:30;9405:34;9385:18;;;9378:62;-1:-1:-1;;;9456:18:4;;;9449:41;9507:19;;1091:97:3;;;;;;;;1285:29;;-1:-1:-1;;;;;;1285:29:3;-1:-1:-1;;;;;1285:29:3;;;;;1324;;;;-1:-1:-1;1324:20:3;;;:29;;;;;:::i;:::-;-1:-1:-1;1363:41:3;;;;:26;;;;:41;;;;;:::i;:::-;-1:-1:-1;1414:21:3;;;:31;;;1455:23;;;:35;;;-1:-1:-1;1500:30:3;;;:34;1544:29;;;;:20;;;;:29;;;;;:::i;:::-;-1:-1:-1;1584:23:3;:25;;;:23;:25;;;:::i;:::-;;;;;;1653:1;1627:23;;:27;;;;:::i;:::-;1620:34;732:929;-1:-1:-1;;;;;;;;732:929:3:o;2401:208::-;2546:15;:20;;;;;;;;;;;;:27;;;2538:64;;;;;;;;;;;;;;;;;2453:16;;;;2546:27;;2575:26;;;2538:64;;2546:27;;2538:64;;2546:27;2538:64;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2538:64:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2401:208;;;:::o;616:57::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;616:57:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:180:4;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:4;;14:180;-1:-1:-1;14:180:4:o;308:472::-;350:3;388:5;382:12;415:6;410:3;403:19;440:1;450:162;464:6;461:1;458:13;450:162;;;526:4;582:13;;;578:22;;572:29;554:11;;;550:20;;543:59;479:12;450:162;;;630:6;627:1;624:13;621:87;;;696:1;689:4;680:6;675:3;671:16;667:27;660:38;621:87;-1:-1:-1;762:2:4;741:15;-1:-1:-1;;737:29:4;728:39;;;;769:4;724:50;;308:472;-1:-1:-1;;308:472:4:o;785:461::-;838:3;876:5;870:12;903:6;898:3;891:19;929:4;958:2;953:3;949:12;942:19;;995:2;988:5;984:14;1016:1;1026:195;1040:6;1037:1;1034:13;1026:195;;;1105:13;;-1:-1:-1;;;;;1101:39:4;1089:52;;1161:12;;;;1196:15;;;;1137:1;1055:9;1026:195;;;-1:-1:-1;1237:3:4;;785:461;-1:-1:-1;;;;;785:461:4:o;1251:435::-;1304:3;1342:5;1336:12;1369:6;1364:3;1357:19;1395:4;1424:2;1419:3;1415:12;1408:19;;1461:2;1454:5;1450:14;1482:1;1492:169;1506:6;1503:1;1500:13;1492:169;;;1567:13;;1555:26;;1601:12;;;;1636:15;;;;1528:1;1521:9;1492:169;;1691:2149;1895:4;1924:2;1964;1953:9;1949:18;1994:2;1983:9;1976:21;2017:6;2052;2046:13;2083:6;2075;2068:22;2109:2;2099:12;;2142:2;2131:9;2127:18;2120:25;;2204:2;2194:6;2191:1;2187:14;2176:9;2172:30;2168:39;2242:2;2234:6;2230:15;2263:1;2273:1538;2287:6;2284:1;2281:13;2273:1538;;;2352:22;;;-1:-1:-1;;2348:36:4;2336:49;;2408:13;;2482:9;;-1:-1:-1;;;;;265:31:4;253:44;;2444:6;2547:2;2543;2539:11;2533:18;2588:2;2583;2575:6;2571:15;2564:27;2618:48;2662:2;2654:6;2650:15;2636:12;2618:48;:::i;:::-;2604:62;;;2715:2;2711;2707:11;2701:18;2768:6;2760;2756:19;2751:2;2743:6;2739:15;2732:44;2803:41;2837:6;2821:14;2803:41;:::i;:::-;2867:4;2914:11;;;2908:18;2891:15;;;2884:43;2950:4;2997:11;;;2991:18;2974:15;;;2967:43;3033:4;3080:11;;;3074:18;3057:15;;;3050:43;3116:4;3161:11;;;3155:18;3210:19;;;3193:15;;;3186:44;2789:55;;-1:-1:-1;3116:4:4;-1:-1:-1;3257:41:4;2789:55;3155:18;3257:41;:::i;:::-;3243:55;;;;3321:4;3374:2;3370;3366:11;3360:18;3427:6;3419;3415:19;3410:2;3402:6;3398:15;3391:44;3462:52;3507:6;3491:14;3462:52;:::i;:::-;3448:66;;;;3538:6;3593:3;3589:2;3585:12;3579:19;3557:41;;3648:6;3640;3636:19;3630:3;3622:6;3618:16;3611:45;;3679:52;3724:6;3708:14;3679:52;:::i;:::-;3789:12;;;;3669:62;-1:-1:-1;;;3754:15:4;;;;2309:1;2302:9;2273:1538;;;-1:-1:-1;3828:6:4;;1691:2149;-1:-1:-1;;;;;;;;1691:2149:4:o;3845:127::-;3906:10;3901:3;3897:20;3894:1;3887:31;3937:4;3934:1;3927:15;3961:4;3958:1;3951:15;3977:719;4020:5;4073:3;4066:4;4058:6;4054:17;4050:27;4040:55;;4091:1;4088;4081:12;4040:55;4127:6;4114:20;4153:18;4190:2;4186;4183:10;4180:36;;;4196:18;;:::i;:::-;4271:2;4265:9;4239:2;4325:13;;-1:-1:-1;;4321:22:4;;;4345:2;4317:31;4313:40;4301:53;;;4369:18;;;4389:22;;;4366:46;4363:72;;;4415:18;;:::i;:::-;4455:10;4451:2;4444:22;4490:2;4482:6;4475:18;4536:3;4529:4;4524:2;4516:6;4512:15;4508:26;4505:35;4502:55;;;4553:1;4550;4543:12;4502:55;4617:2;4610:4;4602:6;4598:17;4591:4;4583:6;4579:17;4566:54;4664:1;4657:4;4652:2;4644:6;4640:15;4636:26;4629:37;4684:6;4675:15;;;;;;3977:719;;;;:::o;4701:1056::-;4835:6;4843;4851;4859;4867;4875;4928:3;4916:9;4907:7;4903:23;4899:33;4896:53;;;4945:1;4942;4935:12;4896:53;4971:23;;-1:-1:-1;;;;;5023:31:4;;5013:42;;5003:70;;5069:1;5066;5059:12;5003:70;5092:5;-1:-1:-1;5148:2:4;5133:18;;5120:32;5171:18;5201:14;;;5198:34;;;5228:1;5225;5218:12;5198:34;5251:50;5293:7;5284:6;5273:9;5269:22;5251:50;:::i;:::-;5241:60;;5354:2;5343:9;5339:18;5326:32;5310:48;;5383:2;5373:8;5370:16;5367:36;;;5399:1;5396;5389:12;5367:36;5422:52;5466:7;5455:8;5444:9;5440:24;5422:52;:::i;:::-;5412:62;;5521:2;5510:9;5506:18;5493:32;5483:42;;5572:3;5561:9;5557:19;5544:33;5534:43;;5630:3;5619:9;5615:19;5602:33;5586:49;;5660:2;5650:8;5647:16;5644:36;;;5676:1;5673;5666:12;5644:36;;5699:52;5743:7;5732:8;5721:9;5717:24;5699:52;:::i;:::-;5689:62;;;4701:1056;;;;;;;;:::o;5944:1178::-;6212:2;6224:21;;;6294:13;;6197:18;;;6316:22;;;6164:4;;6391;;6369:2;6354:18;;;6418:15;;;6164:4;6461:195;6475:6;6472:1;6469:13;6461:195;;;6540:13;;-1:-1:-1;;;;;6536:39:4;6524:52;;6596:12;;;;6631:15;;;;6572:1;6490:9;6461:195;;;-1:-1:-1;;;6692:19:4;;;6672:18;;;6665:47;6762:13;;6784:21;;;6860:15;;;;6823:12;;;6895:1;6905:189;6921:8;6916:3;6913:17;6905:189;;;6990:15;;6976:30;;7067:17;;;;7028:14;;;;6949:1;6940:11;6905:189;;;-1:-1:-1;7111:5:4;;5944:1178;-1:-1:-1;;;;;;;5944:1178:4:o;7127:861::-;-1:-1:-1;;;;;7484:32:4;;7466:51;;7553:3;7548:2;7533:18;;7526:31;;;-1:-1:-1;;7580:46:4;;7606:19;;7598:6;7580:46;:::i;:::-;7674:9;7666:6;7662:22;7657:2;7646:9;7642:18;7635:50;7708:33;7734:6;7726;7708:33;:::i;:::-;7694:47;;7777:6;7772:2;7761:9;7757:18;7750:34;7821:6;7815:3;7804:9;7800:19;7793:35;7865:6;7859:3;7848:9;7844:19;7837:35;7921:9;7913:6;7909:22;7903:3;7892:9;7888:19;7881:51;7949:33;7975:6;7967;7949:33;:::i;:::-;7941:41;7127:861;-1:-1:-1;;;;;;;;;;7127:861:4:o;8203:127::-;8264:10;8259:3;8255:20;8252:1;8245:31;8295:4;8292:1;8285:15;8319:4;8316:1;8309:15;8335:128;8375:3;8406:1;8402:6;8399:1;8396:13;8393:39;;;8412:18;;:::i;:::-;-1:-1:-1;8448:9:4;;8335:128::o;8468:380::-;8547:1;8543:12;;;;8590;;;8611:61;;8665:4;8657:6;8653:17;8643:27;;8611:61;8718:2;8710:6;8707:14;8687:18;8684:38;8681:161;;;8764:10;8759:3;8755:20;8752:1;8745:31;8799:4;8796:1;8789:15;8827:4;8824:1;8817:15;8853:127;8914:10;8909:3;8905:20;8902:1;8895:31;8945:4;8942:1;8935:15;8969:4;8966:1;8959:15;8985:135;9024:3;-1:-1:-1;;9045:17:4;;9042:43;;;9065:18;;:::i;:::-;-1:-1:-1;9112:1:4;9101:13;;8985:135::o;9537:125::-;9577:4;9605:1;9602;9599:8;9596:34;;;9610:18;;:::i;:::-;-1:-1:-1;9647:9:4;;9537:125::o"},"methodIdentifiers":{"classifications(uint256)":"a8894930","createProposal(address,string,string,uint256,uint256,string)":"6ceae4d1","getProposals()":"62564c48","getVoters(uint256)":"86b646f2","numberOfClassifications()":"85f25a00","voteForProposal(uint256)":"045c6ce0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"classifications\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"target\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountCollected\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"image\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_target\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_deadline\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_image\",\"type\":\"string\"}],\"name\":\"createProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProposals\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"target\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountCollected\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"image\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"voters\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"votes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct ClassificationProposal.Classification[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getVoters\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"numberOfClassifications\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"voteForProposal\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/proposal.sol\":\"ClassificationProposal\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/proposal.sol\":{\"keccak256\":\"0xe21abb8e7bc1084d1b0fe21d96b532c3a34d9c1bc5dc827c205626665a310fbc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b333f6d7cc17718ff8b5b77e8528a032562456cbe2defa64f0739e5cc2f048ec\",\"dweb:/ipfs/Qmd6Tnuf267iFUg8ZHiUHKx8tXn2ZgYZeXC5CpGxpbN8eP\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/contracts/interface/IPermissions.sol/IPermissions.dbg.json b/artifacts/contracts/interface/IPermissions.sol/IPermissions.dbg.json deleted file mode 100644 index b2df1ac6..00000000 --- a/artifacts/contracts/interface/IPermissions.sol/IPermissions.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/588467247110c8b5b922ad03f233358d.json" -} diff --git a/artifacts/contracts/interface/IPermissions.sol/IPermissions.json b/artifacts/contracts/interface/IPermissions.sol/IPermissions.json deleted file mode 100644 index ce8ee08c..00000000 --- a/artifacts/contracts/interface/IPermissions.sol/IPermissions.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IPermissions", - "sourceName": "contracts/interface/IPermissions.sol", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/contracts/lib/TWStrings.sol/TWStrings.dbg.json b/artifacts/contracts/lib/TWStrings.sol/TWStrings.dbg.json deleted file mode 100644 index b2df1ac6..00000000 --- a/artifacts/contracts/lib/TWStrings.sol/TWStrings.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/588467247110c8b5b922ad03f233358d.json" -} diff --git a/artifacts/contracts/lib/TWStrings.sol/TWStrings.json b/artifacts/contracts/lib/TWStrings.sol/TWStrings.json deleted file mode 100644 index f3f1e3d4..00000000 --- a/artifacts/contracts/lib/TWStrings.sol/TWStrings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TWStrings", - "sourceName": "contracts/lib/TWStrings.sol", - "abi": [], - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d14082091a3b7848fda3dae1b8091d26c7dff802a07557a8932dea7ab4dba9764736f6c634300080b0033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d14082091a3b7848fda3dae1b8091d26c7dff802a07557a8932dea7ab4dba9764736f6c634300080b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/contracts/planetProposal.sol/PlanetProposal.dbg.json b/artifacts/contracts/planetProposal.sol/PlanetProposal.dbg.json deleted file mode 100644 index b6ea038c..00000000 --- a/artifacts/contracts/planetProposal.sol/PlanetProposal.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/588467247110c8b5b922ad03f233358d.json" -} diff --git a/artifacts/contracts/planetProposal.sol/PlanetProposal.json b/artifacts/contracts/planetProposal.sol/PlanetProposal.json deleted file mode 100644 index 347eee61..00000000 --- a/artifacts/contracts/planetProposal.sol/PlanetProposal.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "PlanetProposal", - "sourceName": "contracts/planetProposal.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_question", - "type": "string" - } - ], - "name": "createProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalIndex", - "type": "uint256" - } - ], - "name": "getProposalResult", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "proposals", - "outputs": [ - { - "internalType": "string", - "name": "question", - "type": "string" - }, - { - "internalType": "uint256", - "name": "yesVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "noVotes", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalIndex", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_voteYes", - "type": "bool" - } - ], - "name": "vote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610752806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063013cf08b1461005c578063438596321461008757806349c2a1a6146100c5578063c9d27afe146100da578063f91f88f7146100ed575b600080fd5b61006f61006a3660046104fb565b610100565b60405161007e93929190610514565b60405180910390f35b6100b5610095366004610578565b600160209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161007e565b6100d86100d33660046105ca565b6101c2565b005b6100d86100e836600461067b565b61023f565b61006f6100fb3660046104fb565b610356565b6000818154811061011057600080fd5b9060005260206000209060030201600091509050806000018054610133906106a5565b80601f016020809104026020016040519081016040528092919081815260200182805461015f906106a5565b80156101ac5780601f10610181576101008083540402835291602001916101ac565b820191906000526020600020905b81548152906001019060200180831161018f57829003601f168201915b5050505050908060010154908060020154905083565b6040805160608101825282815260006020808301829052928201819052805460018101825590805281518051929360039092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301926102259284920190610462565b506020820151816001015560408201518160020155505050565b600082815260016020908152604080832033845290915290205460ff16156102ad5760405162461bcd60e51b815260206004820152601760248201527f596f75206861766520616c726561647920766f7465642e000000000000000000604482015260640160405180910390fd5b80156102f3576001600083815481106102c8576102c86106e0565b906000526020600020906003020160010160008282546102e891906106f6565b9091555061032e9050565b600160008381548110610308576103086106e0565b9060005260206000209060030201600201600082825461032891906106f6565b90915550505b506000908152600160208181526040808420338552909152909120805460ff19169091179055565b60606000806000848154811061036e5761036e6106e0565b906000526020600020906003020160000160008581548110610392576103926106e0565b906000526020600020906003020160010154600086815481106103b7576103b76106e0565b9060005260206000209060030201600201548280546103d5906106a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610401906106a5565b801561044e5780601f106104235761010080835404028352916020019161044e565b820191906000526020600020905b81548152906001019060200180831161043157829003601f168201915b505050505092509250925092509193909250565b82805461046e906106a5565b90600052602060002090601f01602090048101928261049057600085556104d6565b82601f106104a957805160ff19168380011785556104d6565b828001600101855582156104d6579182015b828111156104d65782518255916020019190600101906104bb565b506104e29291506104e6565b5090565b5b808211156104e257600081556001016104e7565b60006020828403121561050d57600080fd5b5035919050565b606081526000845180606084015260005b818110156105425760208188018101516080868401015201610525565b81811115610554576000608083860101525b5060208301949094525060408101919091526080601f909201601f19160101919050565b6000806040838503121561058b57600080fd5b8235915060208301356001600160a01b03811681146105a957600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105dc57600080fd5b813567ffffffffffffffff808211156105f457600080fd5b818401915084601f83011261060857600080fd5b81358181111561061a5761061a6105b4565b604051601f8201601f19908116603f01168101908382118183101715610642576106426105b4565b8160405282815287602084870101111561065b57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561068e57600080fd5b82359150602083013580151581146105a957600080fd5b600181811c908216806106b957607f821691505b602082108114156106da57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000821982111561071757634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220063bfb73a84fe082d46807b09b67fd218028f23058ce185d00b55e5bac5174bd64736f6c634300080b0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063013cf08b1461005c578063438596321461008757806349c2a1a6146100c5578063c9d27afe146100da578063f91f88f7146100ed575b600080fd5b61006f61006a3660046104fb565b610100565b60405161007e93929190610514565b60405180910390f35b6100b5610095366004610578565b600160209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161007e565b6100d86100d33660046105ca565b6101c2565b005b6100d86100e836600461067b565b61023f565b61006f6100fb3660046104fb565b610356565b6000818154811061011057600080fd5b9060005260206000209060030201600091509050806000018054610133906106a5565b80601f016020809104026020016040519081016040528092919081815260200182805461015f906106a5565b80156101ac5780601f10610181576101008083540402835291602001916101ac565b820191906000526020600020905b81548152906001019060200180831161018f57829003601f168201915b5050505050908060010154908060020154905083565b6040805160608101825282815260006020808301829052928201819052805460018101825590805281518051929360039092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301926102259284920190610462565b506020820151816001015560408201518160020155505050565b600082815260016020908152604080832033845290915290205460ff16156102ad5760405162461bcd60e51b815260206004820152601760248201527f596f75206861766520616c726561647920766f7465642e000000000000000000604482015260640160405180910390fd5b80156102f3576001600083815481106102c8576102c86106e0565b906000526020600020906003020160010160008282546102e891906106f6565b9091555061032e9050565b600160008381548110610308576103086106e0565b9060005260206000209060030201600201600082825461032891906106f6565b90915550505b506000908152600160208181526040808420338552909152909120805460ff19169091179055565b60606000806000848154811061036e5761036e6106e0565b906000526020600020906003020160000160008581548110610392576103926106e0565b906000526020600020906003020160010154600086815481106103b7576103b76106e0565b9060005260206000209060030201600201548280546103d5906106a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610401906106a5565b801561044e5780601f106104235761010080835404028352916020019161044e565b820191906000526020600020905b81548152906001019060200180831161043157829003601f168201915b505050505092509250925092509193909250565b82805461046e906106a5565b90600052602060002090601f01602090048101928261049057600085556104d6565b82601f106104a957805160ff19168380011785556104d6565b828001600101855582156104d6579182015b828111156104d65782518255916020019190600101906104bb565b506104e29291506104e6565b5090565b5b808211156104e257600081556001016104e7565b60006020828403121561050d57600080fd5b5035919050565b606081526000845180606084015260005b818110156105425760208188018101516080868401015201610525565b81811115610554576000608083860101525b5060208301949094525060408101919091526080601f909201601f19160101919050565b6000806040838503121561058b57600080fd5b8235915060208301356001600160a01b03811681146105a957600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105dc57600080fd5b813567ffffffffffffffff808211156105f457600080fd5b818401915084601f83011261060857600080fd5b81358181111561061a5761061a6105b4565b604051601f8201601f19908116603f01168101908382118183101715610642576106426105b4565b8160405282815287602084870101111561065b57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561068e57600080fd5b82359150602083013580151581146105a957600080fd5b600181811c908216806106b957607f821691505b602082108114156106da57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000821982111561071757634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220063bfb73a84fe082d46807b09b67fd218028f23058ce185d00b55e5bac5174bd64736f6c634300080b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/contracts/proposal.sol/ClassificationProposal.dbg.json b/artifacts/contracts/proposal.sol/ClassificationProposal.dbg.json deleted file mode 100644 index b6ea038c..00000000 --- a/artifacts/contracts/proposal.sol/ClassificationProposal.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/588467247110c8b5b922ad03f233358d.json" -} diff --git a/artifacts/contracts/proposal.sol/ClassificationProposal.json b/artifacts/contracts/proposal.sol/ClassificationProposal.json deleted file mode 100644 index 36f94e41..00000000 --- a/artifacts/contracts/proposal.sol/ClassificationProposal.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ClassificationProposal", - "sourceName": "contracts/proposal.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "classifications", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - }, - { - "internalType": "uint256", - "name": "target", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountCollected", - "type": "uint256" - }, - { - "internalType": "string", - "name": "image", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "string", - "name": "_title", - "type": "string" - }, - { - "internalType": "string", - "name": "_description", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_target", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deadline", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_image", - "type": "string" - } - ], - "name": "createProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getProposals", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "string", - "name": "title", - "type": "string" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - }, - { - "internalType": "uint256", - "name": "target", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountCollected", - "type": "uint256" - }, - { - "internalType": "string", - "name": "image", - "type": "string" - }, - { - "internalType": "address[]", - "name": "voters", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "votes", - "type": "uint256[]" - } - ], - "internalType": "struct ClassificationProposal.Classification[]", - "name": "", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getVoters", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "numberOfClassifications", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "voteForProposal", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b50610f20806100256000396000f3fe6080604052600436106100555760003560e01c8063045c6ce01461005a57806362564c481461006f5780636ceae4d11461009a57806385f25a00146100c857806386b646f2146100de578063a88949301461010c575b600080fd5b61006d610068366004610a0e565b61013f565b005b34801561007b57600080fd5b50610084610201565b6040516100919190610ae8565b60405180910390f35b3480156100a657600080fd5b506100ba6100b5366004610c98565b6105ae565b604051908152602001610091565b3480156100d457600080fd5b506100ba60015481565b3480156100ea57600080fd5b506100fe6100f9366004610a0e565b6106c9565b604051610091929190610d51565b34801561011857600080fd5b5061012c610127366004610a0e565b610798565b6040516100919796959493929190610dd5565b600081815260208181526040808320600781018054600180820183559186528486200180546001600160a01b0319163317905560088201805491820181558552928420349301839055805491519293909290916001600160a01b03169084908381818185875af1925050503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5050905080156101fb578282600501546101f59190610e55565b60058301555b50505050565b6060600060015467ffffffffffffffff81111561022057610220610bf5565b6040519080825280602002602001820160405280156102a957816020015b61029660405180610120016040528060006001600160a01b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b81526020019060019003908161023e5790505b50905060005b6001548110156105a857600081815260208181526040918290208251610120810190935280546001600160a01b03168352600181018054919392849290840191906102f990610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461032590610e6d565b80156103725780601f1061034757610100808354040283529160200191610372565b820191906000526020600020905b81548152906001019060200180831161035557829003601f168201915b5050505050815260200160028201805461038b90610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546103b790610e6d565b80156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050815260200160038201548152602001600482015481526020016005820154815260200160068201805461043b90610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461046790610e6d565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b505050505081526020016007820180548060200260200160405190810160405280929190818152602001828054801561051657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104f8575b505050505081526020016008820180548060200260200160405190810160405280929190818152602001828054801561056e57602002820191906000526020600020905b81548152602001906001019080831161055a575b50505050508152505083838151811061058957610589610ea2565b60200260200101819052505080806105a090610eb8565b9150506102af565b50919050565b60015460009081526020819052604081206004810154421161062a5760405162461bcd60e51b815260206004820152602b60248201527f54686520646561646c696e652073686f756c642062652061206461746520696e60448201526a207468652066757475726560a81b606482015260840160405180910390fd5b80546001600160a01b0319166001600160a01b038916178155865161065890600183019060208a0190610975565b50855161066e9060028301906020890190610975565b5060038101859055600481018490556000600582015582516106999060068301906020860190610975565b50600180549060006106aa83610eb8565b9190505550600180546106bd9190610ed3565b98975050505050505050565b6000818152602081815260409182902060078101805484518185028101850190955280855260609485949293600801929091849183018282801561073657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610718575b505050505091508080548060200260200160405190810160405280929190818152602001828054801561078857602002820191906000526020600020905b815481526020019060010190808311610774575b5050505050905091509150915091565b600060208190529081526040902080546001820180546001600160a01b0390921692916107c490610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546107f090610e6d565b801561083d5780601f106108125761010080835404028352916020019161083d565b820191906000526020600020905b81548152906001019060200180831161082057829003601f168201915b50505050509080600201805461085290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90610e6d565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050908060030154908060040154908060050154908060060180546108f290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461091e90610e6d565b801561096b5780601f106109405761010080835404028352916020019161096b565b820191906000526020600020905b81548152906001019060200180831161094e57829003601f168201915b5050505050905087565b82805461098190610e6d565b90600052602060002090601f0160209004810192826109a357600085556109e9565b82601f106109bc57805160ff19168380011785556109e9565b828001600101855582156109e9579182015b828111156109e95782518255916020019190600101906109ce565b506109f59291506109f9565b5090565b5b808211156109f557600081556001016109fa565b600060208284031215610a2057600080fd5b5035919050565b6000815180845260005b81811015610a4d57602081850181015186830182015201610a31565b81811115610a5f576000602083870101525b50601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b83811015610aad5781516001600160a01b031687529582019590820190600101610a88565b509495945050505050565b600081518084526020808501945080840160005b83811015610aad57815187529582019590820190600101610acc565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610be757888303603f19018552815180516001600160a01b0316845261012088820151818a870152610b4782870182610a27565b9150508782015185820389870152610b5f8282610a27565b606084810151908801526080808501519088015260a0808501519088015260c080850151888303828a01529193509150610b998382610a27565b9250505060e08083015186830382880152610bb48382610a74565b925050506101008083015192508582038187015250610bd38183610ab8565b968901969450505090860190600101610b0f565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c1c57600080fd5b813567ffffffffffffffff80821115610c3757610c37610bf5565b604051601f8301601f19908116603f01168101908282118183101715610c5f57610c5f610bf5565b81604052838152866020858801011115610c7857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215610cb157600080fd5b86356001600160a01b0381168114610cc857600080fd5b9550602087013567ffffffffffffffff80821115610ce557600080fd5b610cf18a838b01610c0b565b96506040890135915080821115610d0757600080fd5b610d138a838b01610c0b565b9550606089013594506080890135935060a0890135915080821115610d3757600080fd5b50610d4489828a01610c0b565b9150509295509295509295565b604080825283519082018190526000906020906060840190828701845b82811015610d935781516001600160a01b031684529284019290840190600101610d6e565b5050508381038285015284518082528583019183019060005b81811015610dc857835183529284019291840191600101610dac565b5090979650505050505050565b6001600160a01b038816815260e060208201819052600090610df990830189610a27565b8281036040840152610e0b8189610a27565b90508660608401528560808401528460a084015282810360c0840152610e318185610a27565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610e6857610e68610e3f565b500190565b600181811c90821680610e8157607f821691505b602082108114156105a857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600019821415610ecc57610ecc610e3f565b5060010190565b600082821015610ee557610ee5610e3f565b50039056fea2646970667358221220c3540924668b7454f9265c09af82295888327e2f8610ac05fd1df6f66022142564736f6c634300080b0033", - "deployedBytecode": "0x6080604052600436106100555760003560e01c8063045c6ce01461005a57806362564c481461006f5780636ceae4d11461009a57806385f25a00146100c857806386b646f2146100de578063a88949301461010c575b600080fd5b61006d610068366004610a0e565b61013f565b005b34801561007b57600080fd5b50610084610201565b6040516100919190610ae8565b60405180910390f35b3480156100a657600080fd5b506100ba6100b5366004610c98565b6105ae565b604051908152602001610091565b3480156100d457600080fd5b506100ba60015481565b3480156100ea57600080fd5b506100fe6100f9366004610a0e565b6106c9565b604051610091929190610d51565b34801561011857600080fd5b5061012c610127366004610a0e565b610798565b6040516100919796959493929190610dd5565b600081815260208181526040808320600781018054600180820183559186528486200180546001600160a01b0319163317905560088201805491820181558552928420349301839055805491519293909290916001600160a01b03169084908381818185875af1925050503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5050905080156101fb578282600501546101f59190610e55565b60058301555b50505050565b6060600060015467ffffffffffffffff81111561022057610220610bf5565b6040519080825280602002602001820160405280156102a957816020015b61029660405180610120016040528060006001600160a01b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016060815260200160608152602001606081525090565b81526020019060019003908161023e5790505b50905060005b6001548110156105a857600081815260208181526040918290208251610120810190935280546001600160a01b03168352600181018054919392849290840191906102f990610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461032590610e6d565b80156103725780601f1061034757610100808354040283529160200191610372565b820191906000526020600020905b81548152906001019060200180831161035557829003601f168201915b5050505050815260200160028201805461038b90610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546103b790610e6d565b80156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050815260200160038201548152602001600482015481526020016005820154815260200160068201805461043b90610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461046790610e6d565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b505050505081526020016007820180548060200260200160405190810160405280929190818152602001828054801561051657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104f8575b505050505081526020016008820180548060200260200160405190810160405280929190818152602001828054801561056e57602002820191906000526020600020905b81548152602001906001019080831161055a575b50505050508152505083838151811061058957610589610ea2565b60200260200101819052505080806105a090610eb8565b9150506102af565b50919050565b60015460009081526020819052604081206004810154421161062a5760405162461bcd60e51b815260206004820152602b60248201527f54686520646561646c696e652073686f756c642062652061206461746520696e60448201526a207468652066757475726560a81b606482015260840160405180910390fd5b80546001600160a01b0319166001600160a01b038916178155865161065890600183019060208a0190610975565b50855161066e9060028301906020890190610975565b5060038101859055600481018490556000600582015582516106999060068301906020860190610975565b50600180549060006106aa83610eb8565b9190505550600180546106bd9190610ed3565b98975050505050505050565b6000818152602081815260409182902060078101805484518185028101850190955280855260609485949293600801929091849183018282801561073657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610718575b505050505091508080548060200260200160405190810160405280929190818152602001828054801561078857602002820191906000526020600020905b815481526020019060010190808311610774575b5050505050905091509150915091565b600060208190529081526040902080546001820180546001600160a01b0390921692916107c490610e6d565b80601f01602080910402602001604051908101604052809291908181526020018280546107f090610e6d565b801561083d5780601f106108125761010080835404028352916020019161083d565b820191906000526020600020905b81548152906001019060200180831161082057829003601f168201915b50505050509080600201805461085290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90610e6d565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050908060030154908060040154908060050154908060060180546108f290610e6d565b80601f016020809104026020016040519081016040528092919081815260200182805461091e90610e6d565b801561096b5780601f106109405761010080835404028352916020019161096b565b820191906000526020600020905b81548152906001019060200180831161094e57829003601f168201915b5050505050905087565b82805461098190610e6d565b90600052602060002090601f0160209004810192826109a357600085556109e9565b82601f106109bc57805160ff19168380011785556109e9565b828001600101855582156109e9579182015b828111156109e95782518255916020019190600101906109ce565b506109f59291506109f9565b5090565b5b808211156109f557600081556001016109fa565b600060208284031215610a2057600080fd5b5035919050565b6000815180845260005b81811015610a4d57602081850181015186830182015201610a31565b81811115610a5f576000602083870101525b50601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b83811015610aad5781516001600160a01b031687529582019590820190600101610a88565b509495945050505050565b600081518084526020808501945080840160005b83811015610aad57815187529582019590820190600101610acc565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610be757888303603f19018552815180516001600160a01b0316845261012088820151818a870152610b4782870182610a27565b9150508782015185820389870152610b5f8282610a27565b606084810151908801526080808501519088015260a0808501519088015260c080850151888303828a01529193509150610b998382610a27565b9250505060e08083015186830382880152610bb48382610a74565b925050506101008083015192508582038187015250610bd38183610ab8565b968901969450505090860190600101610b0f565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c1c57600080fd5b813567ffffffffffffffff80821115610c3757610c37610bf5565b604051601f8301601f19908116603f01168101908282118183101715610c5f57610c5f610bf5565b81604052838152866020858801011115610c7857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215610cb157600080fd5b86356001600160a01b0381168114610cc857600080fd5b9550602087013567ffffffffffffffff80821115610ce557600080fd5b610cf18a838b01610c0b565b96506040890135915080821115610d0757600080fd5b610d138a838b01610c0b565b9550606089013594506080890135935060a0890135915080821115610d3757600080fd5b50610d4489828a01610c0b565b9150509295509295509295565b604080825283519082018190526000906020906060840190828701845b82811015610d935781516001600160a01b031684529284019290840190600101610d6e565b5050508381038285015284518082528583019183019060005b81811015610dc857835183529284019291840191600101610dac565b5090979650505050505050565b6001600160a01b038816815260e060208201819052600090610df990830189610a27565b8281036040840152610e0b8189610a27565b90508660608401528560808401528460a084015282810360c0840152610e318185610a27565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610e6857610e68610e3f565b500190565b600181811c90821680610e8157607f821691505b602082108114156105a857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600019821415610ecc57610ecc610e3f565b5060010190565b600082821015610ee557610ee5610e3f565b50039056fea2646970667358221220c3540924668b7454f9265c09af82295888327e2f8610ac05fd1df6f66022142564736f6c634300080b0033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/brownie-config.json b/brownie-config.json deleted file mode 100644 index f6aff759..00000000 --- a/brownie-config.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1" - ], - "compiler": { - "solc": { - "remappings": [ - "@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.8.1" - ] - } - }, - "dotenv": ".env", - "networks": { - "goerli": { - "verify": true - } - }, - "wallets": { - "from_key": "${PRIVATE_KEY}" - } -} \ No newline at end of file diff --git a/brownie-config.yaml b/brownie-config.yaml deleted file mode 100644 index dea9495e..00000000 --- a/brownie-config.yaml +++ /dev/null @@ -1,12 +0,0 @@ -dependencies: - - OpenZeppelin/openzeppelin-contracts@4.8.1 -compiler: - solc: - remappings: - - "@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.8.1" -dotenv: .env -networks: - goerli: - verify: True -wallets: - from_key: ${PRIVATE_KEY} \ No newline at end of file diff --git a/cache/solidity-files-cache.json b/cache/solidity-files-cache.json deleted file mode 100644 index 18c9c6fc..00000000 --- a/cache/solidity-files-cache.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "_format": "hh-sol-cache-2", - "files": { - "/Users/buyer/Documents/Lens/client/contracts/interface/IPermissions.sol": { - "lastModificationDate": 1677241828801, - "contentHash": "d410a91edeaba88911527a2d22c333f1", - "sourceName": "contracts/interface/IPermissions.sol", - "solcConfig": { - "version": "0.8.11", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IPermissions" - ] - }, - "/Users/buyer/Documents/Lens/client/contracts/lib/TWStrings.sol": { - "lastModificationDate": 1677241828810, - "contentHash": "fd59482acf8ab3416ca64b158b1d2eda", - "sourceName": "contracts/lib/TWStrings.sol", - "solcConfig": { - "version": "0.8.11", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "TWStrings" - ] - }, - "/Users/buyer/Documents/Lens/client/contracts/planetProposal.sol": { - "lastModificationDate": 1680517829447, - "contentHash": "e2afa66796f5a549f716ce4948b85907", - "sourceName": "contracts/planetProposal.sol", - "solcConfig": { - "version": "0.8.11", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "PlanetProposal" - ] - }, - "/Users/buyer/Documents/Lens/client/contracts/proposal.sol": { - "lastModificationDate": 1679890106795, - "contentHash": "19440e5838649f0419127a2e817211f8", - "sourceName": "contracts/proposal.sol", - "solcConfig": { - "version": "0.8.11", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - "^0.8.11" - ], - "artifacts": [ - "ClassificationProposal" - ] - } - } -} diff --git a/client2 b/client2 new file mode 160000 index 00000000..b3473ec3 --- /dev/null +++ b/client2 @@ -0,0 +1 @@ +Subproject commit b3473ec3378cdfc0aef0b929e0d1988f5e90705f diff --git a/compass.yml b/compass.yml deleted file mode 100644 index dbdbe51c..00000000 --- a/compass.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: client -id: ari:cloud:compass:6c5f0aad-3609-46b8-ab18-2bbe3c8d954a:component/877cb673-9bea-4a28-ab02-5c00556706db/8331d730-74b1-4792-9611-864727df9b99 -description: Frontend for viewing citizen science proposals on Lens Protocol -configVersion: 1 -typeId: APPLICATION -fields: - tier: 4 -links: - - name: null - type: REPOSITORY - url: https://github.com/Signal-K/client - - name: null - type: REPOSITORY - url: https://github.com/Signal-K/theclub -relationships: - DEPENDS_ON: [] -labels: - - citizen-science - - foldingathome - - language:typescript - - lens-protocol - - source:github - - zooniverse -customFields: null diff --git a/components/AccountAvatar.tsx b/components/AccountAvatar.tsx index 79767d01..998f0fe7 100644 --- a/components/AccountAvatar.tsx +++ b/components/AccountAvatar.tsx @@ -33,7 +33,7 @@ export default function AccountAvatar ({ }; const url = URL.createObjectURL(data); setAvatarUrl(url); - } catch (error) { + } catch (error) { console.log('Error downloading image: ', error) } } diff --git a/components/Card.tsx b/components/Card.tsx index 628bb17d..ffb393c7 100644 --- a/components/Card.tsx +++ b/components/Card.tsx @@ -1,5 +1,5 @@ export default function Card({children,noPadding}) { - let classes = 'bg-white shadow-md shadow-gray-300 rounded-md mb-5'; + let classes = 'bg-white shadow-sm shadow-gray-300 rounded-3xl mb-5'; if (!noPadding) { classes += ' p-4'; } diff --git a/components/Core/BottomBar.tsx b/components/Core/BottomBar.tsx new file mode 100644 index 00000000..23b675fa --- /dev/null +++ b/components/Core/BottomBar.tsx @@ -0,0 +1,55 @@ +import Link from "next/link"; +import { useRouter } from "next/router"; + +const bottombarLinks = [ + { + imgURL: "/assets/icons/home.svg", + route: "/", + label: "Home", + }, + { + imgURL: "/assets/icons/wallpaper.svg", + route: "/explore", + label: "Explore", + }, + { + imgURL: "/assets/icons/bookmark.svg", + route: "/saved", + label: "Saved", + }, + { + imgURL: "/assets/icons/gallery-add.svg", + route: "/create-post", + label: "Create", + }, +]; + +const Bottombar = () => { + const { pathname } = useRouter(); + + return ( + + {bottombarLinks.map((link) => { + const isActive = pathname === link.route; + return ( + + + + {link.label} + + + ); + })} + + ); +}; + +export default Bottombar; diff --git a/components/Core/Feeder.sh.tsx b/components/Core/Feeder.sh.tsx new file mode 100644 index 00000000..cf62fde3 --- /dev/null +++ b/components/Core/Feeder.sh.tsx @@ -0,0 +1,6 @@ +import Feedback from "feeder-react-feedback"; // import Feedback component +import "feeder-react-feedback/dist/feeder-react-feedback.css"; + +export default function Feedbacker () { + return ; +}; \ No newline at end of file diff --git a/components/Core/Footer.tsx b/components/Core/Footer.tsx index a748b464..15376eae 100644 --- a/components/Core/Footer.tsx +++ b/components/Core/Footer.tsx @@ -9,7 +9,7 @@ export default function Footer () { - + @@ -25,13 +25,13 @@ export function FooterPlanetPage () { return ( - + - + - + diff --git a/components/Core/Layout.jsx b/components/Core/Layout.jsx deleted file mode 100644 index 1bdd30ef..00000000 --- a/components/Core/Layout.jsx +++ /dev/null @@ -1,108 +0,0 @@ -import React, { useState, useEffect, Fragment } from "react"; -import { Transition } from "@headlessui/react"; -import CoreNavigation from "./Navigation"; -import CoreSidebar, { GameplaySidebar } from './Sidebar'; -import Footer from "./Footer"; - -export default function CoreLayout ( { children } ) { - // Handling responsive UI - const [showNav, setShowNav] = useState(false); - const [isMobile, setIsMobile] = useState(false); - - function handleResize () { - if (innerWidth <= 640) { - setShowNav(false); - setIsMobile(true); - } else { - setShowNav(true) - setIsMobile(false); - } - } - - useEffect(() => { - if (typeof window != undefined) { - addEventListener("resize", handleResize); - } - - return () => { - removeEventListener("resize", handleResize); - } - }, []); - - return ( - <> - - - - - - {children} - - > - ); -}; - -export function GameplayLayout ( { children } ) { - // Handling responsive UI - const [showNav, setShowNav] = useState(false); - const [isMobile, setIsMobile] = useState(false); - - function handleResize () { - if (innerWidth <= 640) { - setShowNav(false); - setIsMobile(true); - } else { - setShowNav(true) - setIsMobile(false); - } - } - - useEffect(() => { - if (typeof window != undefined) { - addEventListener("resize", handleResize); - } - - return () => { - removeEventListener("resize", handleResize); - } - }, []); - - return ( - <> - - - - - - {children} - - - > - ); -}; \ No newline at end of file diff --git a/components/Core/Layout.tsx b/components/Core/Layout.tsx new file mode 100644 index 00000000..f4c03766 --- /dev/null +++ b/components/Core/Layout.tsx @@ -0,0 +1,101 @@ +import React, { ReactNode, useState, useEffect } from "react"; +import Link from "next/link"; +import { useRouter } from "next/router"; +import { useSession, useSupabaseClient } from '@supabase/auth-helpers-react'; +import Navbar from "./Navbar"; +import MusicPlayer from "./assets/MusicPlayer"; +// import Footer from "./Footer"; + +interface DashboardLayoutProps { + children: ReactNode; +} + +interface SidebarItemProps { + icon: React.ReactNode; + label: string; + href: string; +} + +const SidebarItem: React.FC = ({ icon, label, href }) => { + const router = useRouter(); + const isActive = router.pathname === href; + + return ( + + + {icon} + {label} + + + ); +}; + +const CoreLayout: React.FC = ( { children } ) => { + const [isMobileView, setIsMobileView] = useState(false); + const [sidebarOpen, setSidebarOpen] = useState(false); // Closed by default on both mobile and desktop + const supabase = useSupabaseClient(); + const session = useSession(); + const [profile, setProfile] = useState(null); + + const toggleSidebar = () => { + setSidebarOpen((prevState) => !prevState); + }; + + useEffect(() => { + // Update the view mode on initial render and window resize + const handleWindowResize = () => { + setIsMobileView(window.innerWidth < 768); + }; + + supabase + .from("profiles") + .select() + .eq("id", session?.user?.id) + .then((result) => { + if (result.data) { + setProfile(result.data[0]); + } + }); + + handleWindowResize(); // Set the initial view mode + + // Attach the event listener for window resize + window.addEventListener('resize', handleWindowResize); + + // Clean up the event listener on component unmount + return () => { + window.removeEventListener('resize', handleWindowResize); + }; + }, []); + + useEffect(() => { + // Disable body scrolling when the sidebar is open in desktop view + if (!isMobileView) { + document.body.style.overflow = sidebarOpen ? 'hidden' : 'initial'; + } else { + document.body.style.overflow = 'initial'; // Enable scrolling on mobile view + } + }, [isMobileView, sidebarOpen]); + + return ( + + {/* Content */} + + {/* Header */} + + + {/* Page Content */} + + {children} + {/* */} + + + + ); +}; + +export default CoreLayout; \ No newline at end of file diff --git a/components/Core/Navbar.tsx b/components/Core/Navbar.tsx new file mode 100644 index 00000000..55e51dda --- /dev/null +++ b/components/Core/Navbar.tsx @@ -0,0 +1,308 @@ +import { Fragment, useState, useEffect } from 'react'; +import { usePathname } from 'next/navigation'; +import { Disclosure, Menu, Transition } from '@headlessui/react'; +import Image from 'next/image'; +import { useSession, useSupabaseClient } from '@supabase/auth-helpers-react'; +import Link from 'next/link'; + +const navigation = [ + { name: 'Dashboard', href: '/' }, + { name: 'Feed', href: '/feed' }, + { name: 'Missions', href: '/tests/onboarding' }, +]; + +const mobileNavigation = [ + { name: 'Dashboard', href: '/' }, + { name: 'Feed', href: '/feed' }, + { name: 'Missions', href: '/tests/onboarding' }, + { name: 'Planets', href: '/tests/planets' }, + { name: 'Inventory', href: '/#'}, + { name: 'Economy', href: '/balance' }, + { name: 'Documentation', href: '/#'}, +]; + +function classNames(...classes: string[]) { + return classes.filter(Boolean).join(' '); +} + +export default function Navbar() { + const pathname = usePathname(); + const session = useSession(); + const supabase = useSupabaseClient(); + const [profile, setProfile] = useState(null); + + useEffect(() => { + supabase + .from("profiles") + .select() + .eq("id", session?.user?.id) + .then((result) => { + if (result.data) { + setProfile(result.data[0]); + } + }); + }, [session]); + + return ( + + {({ open }) => ( + <> + + + + {/* + + + + + */} + + {navigation.map((item) => ( + + {item.name} + + ))} + + + + + Open My Stuff menu + My Stuff + + + + + + + Planets + + + + + Missions + + + + + Inventory + + + + + Spaceships + + + + + + + + + + + + + Open user menu + + + + + + {session?.user ? ( + <> + + {({ active }) => ( + + Welcome, {profile?.username} + + )} + + + + {({ active }) => ( + + My planets + + )} + + + + + {({ active }) => ( + + My inventory + + )} + + + + {({ active }) => ( + supabase.auth.signOut()} + > + Sign out + + )} + + > + ) : ( + + {({ active }) => ( + + console.log(session)} + > + Sign in + + + )} + + )} + + + + + + + + + + {mobileNavigation.map((item) => ( + + {item.name} + + ))} + + + {session?.user ? ( + <> + + + + + + {profile?.username} + + + {profile?.full_name} + + + + + supabase.auth.signOut()} + className="block px-4 py-2 text-base font-medium text-gray-500 hover:bg-gray-100 hover:text-gray-800" + > + Sign out + + + > + ) : ( + + + + Sign in + + + + )} + + + > + )} + + ); +} \ No newline at end of file diff --git a/components/Core/Navigation.tsx b/components/Core/Navigation.tsx index d8a80e15..de03081d 100644 --- a/components/Core/Navigation.tsx +++ b/components/Core/Navigation.tsx @@ -1,7 +1,7 @@ import { Fragment, forwardRef, useState, useEffect } from "react"; import Link from "next/link"; import { useRouter } from "next/router"; -import { ConnectWallet, useAddress, /* useEditionDrop, */ useOwnedNFTs, useContract } from "@thirdweb-dev/react"; +// import { ConnectWallet, useAddress, /* useEditionDrop, */ useOwnedNFTs, useContract } from "@thirdweb-dev/react"; import styles from '../../styles/Staking-P2E/planetInteraction.module.css'; import { @@ -21,7 +21,7 @@ import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; export default function CoreNavigation ({ showNav, setShowNav }) { const session = useSession(); const supabase = useSupabaseClient(); - const address = useAddress(); + // const address = useAddress(); const router = useRouter(); const [loading, setLoading] = useState(false); diff --git a/components/Core/Sidebar.jsx b/components/Core/Sidebar.jsx index 48bc0464..02d0a642 100644 --- a/components/Core/Sidebar.jsx +++ b/components/Core/Sidebar.jsx @@ -19,7 +19,7 @@ const CoreSidebar = forwardRef(({ showNav }, ref) => { - + { - + { - + { - {/* + {/* { - + { - + { - + { - + { - + { - + { - + { - + { - + { - + { - + { - + { - + { - + { - + { - if (user) { // Only get images IF the user exists and is logged in - getImages(); // Add a getPosts function to get a user's profile posts - } - }, [user]); - - function convertURIToImageData(URI) { - return new Promise(function(resolve, reject) { - if (URI == null) return reject(); - var canvas = document.createElement('canvas'), - context = canvas.getContext('2d'), - image = new Image(); - image.addEventListener('load', function() { - canvas.width = image.width; - canvas.height = image.height; - context.drawImage(image, 0, 0, canvas.width, canvas.height); - resolve(context.getImageData(0, 0, canvas.width, canvas.height)); - }, false); - image.src = URI; - }); - } - /* PLANET manipulation */ async function createPlanet({ // Maybe we should add a getPlanet (getUserPlanet) helper as well? userId, temperature, radius, date, ticId @@ -184,7 +112,7 @@ export default function AccountEditor({ session }: { session: Session }) { setLoading(true); // Is the planet ID going to be based on the user id (obviously not in production, but in this version?) const newPlanetParams = { - id: user.id, // Generate a random id later + // id: user.id, // Generate a random id later // .. other params from database types } } catch (error) { diff --git a/components/Core/assets/MusicPlayer.tsx b/components/Core/assets/MusicPlayer.tsx new file mode 100644 index 00000000..00e0ef66 --- /dev/null +++ b/components/Core/assets/MusicPlayer.tsx @@ -0,0 +1,19 @@ +import React, { useRef } from 'react'; +import { faPlay, faPause, faStepForward, faStepBackward } from '@fortawesome/free-solid-svg-icons'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; + +const MusicPlayer: React.FC = () => { + const audioRef = useRef(null); + + return ( + {/* Show on all screens, scale down on mobile */} + {/* Center content */} + + + + + + ); +}; + +export default MusicPlayer; \ No newline at end of file diff --git a/components/Core/atoms/Heading.tsx b/components/Core/atoms/Heading.tsx new file mode 100644 index 00000000..551cc56a --- /dev/null +++ b/components/Core/atoms/Heading.tsx @@ -0,0 +1,29 @@ +import React from "react"; + +type HeadingType = "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; + +interface HeadingProps { + type: HeadingType & string; + className?: string; + children?: any; +} + +const typeClassNames: Record = { + h1: "text-4xl font-bold", + h2: "text-3xl font-semibold", + h3: "text-2xl font-medium", + h4: "text-xl font-medium", + h5: "text-lg font-medium", + h6: "text-md font-medium", +}; + +const Heading: React.FC = ({ type, children, className = "" }) => + React.createElement( + type, + { + className: `${typeClassNames[type]} tracking-tighter ${className}`, + }, + children + ); + +export default Heading; \ No newline at end of file diff --git a/components/Core/atoms/ListComponent.tsx b/components/Core/atoms/ListComponent.tsx new file mode 100644 index 00000000..4633d515 --- /dev/null +++ b/components/Core/atoms/ListComponent.tsx @@ -0,0 +1,90 @@ +import React, { PropsWithChildren } from "react"; +import Link from "next/link"; + +// import Heading from "./Heading"; +// import Paragraph from "./Paragraph"; + +import { ArrowRightIcon } from "@radix-ui/react-icons"; + +type BigProjectsGradientBase = "purple" | "blue" | "green" | "pink"; + +interface BigProjectProps { + inProgress: boolean; + name: string; + description: string; + link: string; + textGradient: BigProjectsGradientBase; + containerClassName?: string; +} + +const BigProjectContainer: React.FC< + PropsWithChildren<{ + inProgress: boolean; + href?: string; + containerClassName: string; + }> +> = ({ children, href, containerClassName, inProgress = false }) => { + if (inProgress || !href) + return ( + + {children} + + ); + return ( + + + {children} + + + ); +}; + +const BigProject: React.VFC = ({ + inProgress, + name, + description, + link, + textGradient, + containerClassName = "", +}) => { + const textGradientMap: Record = { + green: "from-green-500 to-green-900", + blue: "from-blue-500 to yellow-500", + pink: "from-pink-500 to-orange-500", + purple: "from-purple-500 to-blue-500", + }; + + return ( + + + + {name} + + + + {description} + + + {!inProgress ? "View mission" : "Start mission"} + + {!inProgress ?? ( + + )} + + + + ); +}; + +export default BigProject; \ No newline at end of file diff --git a/components/Core/atoms/Paragraph.tsx b/components/Core/atoms/Paragraph.tsx new file mode 100644 index 00000000..3243e9f7 --- /dev/null +++ b/components/Core/atoms/Paragraph.tsx @@ -0,0 +1,38 @@ +import React from "react"; + +const paragraphWeights = { + light: "font-light", + normal: "font-normal", + medium: "font-medium", + semibold: "font-semibold", + bold: "font-bold", +}; + +interface ParagraphProps { + characterLimit?: number; + weight?: keyof typeof paragraphWeights; + alignRight?: boolean; + children?: any; +} + +const Paragraph: React.FC = ({ + children, + characterLimit, + weight = "normal", + alignRight = false, +}) => { + const alignmentClass = alignRight ? "text-right" : "text-left"; + + return ( + + {children} + + ); +}; + +export default Paragraph; + +// whitespace-pre-line leading-7 font-normal text-left \ No newline at end of file diff --git a/components/Core/atoms/Section.tsx b/components/Core/atoms/Section.tsx new file mode 100644 index 00000000..0960db95 --- /dev/null +++ b/components/Core/atoms/Section.tsx @@ -0,0 +1,22 @@ +import React from "react"; + +interface SectionProps { + title?: string; + label?: string; + children?: any; +} + +const Section: React.FC = ({ title, label, children }) => { + return ( + + {title && ( + + {title} + + )} + {children} + + ); +}; + +export default Section; \ No newline at end of file diff --git a/components/Core/atoms/VideoEmbed.tsx b/components/Core/atoms/VideoEmbed.tsx new file mode 100644 index 00000000..2ece8bb5 --- /dev/null +++ b/components/Core/atoms/VideoEmbed.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const VideoEmbed = () => { + return ( + + + {/* 16:9 aspect ratio, adjust as needed */} + + + + ); +}; + +export default VideoEmbed; \ No newline at end of file diff --git a/components/Core/indexAuth.tsx b/components/Core/indexAuth.tsx new file mode 100644 index 00000000..b1cdf76b --- /dev/null +++ b/components/Core/indexAuth.tsx @@ -0,0 +1,185 @@ +import React, { useEffect, useState } from "react"; +import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; +import Link from "next/link"; + +type Profile = { + username: string; + // Add other profile properties as needed +}; + +type Session = { + user: { + id: string; + }; + // Add other session properties as needed +}; + +export default function IndexAuth() { + const [profile, setProfile] = useState(null); + const [session, setSession] = useState(null); + const [editMode, setEditMode] = useState(false); + const [loading, setLoading] = useState(false); + const [isUploading, setIsUploading] = useState(false); + const [avatar_url, setAvatarUrl] = useState(null); + const [username, setUsername] = useState(null); + + const supabase = useSupabaseClient(); + + async function logoutUser() { + const { error } = await supabase.auth.signOut(); + if (error) { + console.error("Error logging out:", error); + } + } + + async function getProfile() { + try { + setLoading(true); + if (!session?.user) throw new Error("No user authenticated"); + let { data, error, status } = await supabase + .from("profiles") + .select("username, website, avatar_url, address, address2") + .eq("id", session?.user?.id) + .single(); + + if (error && status !== 406) { + throw error; + } + + if (data) { + setUsername(data.username); + setAvatarUrl(data.avatar_url); + } + } catch (error) { + console.error("Error loading your user data:", error); + } finally { + setLoading(false); + } + } + + function fetchUser() { + supabase + .from("profiles") + .select() + .eq("id", session?.user?.id) + .then((result) => { + if (result.error) { + console.error("Error fetching user data:", result.error); + } + if (result.data) { + setProfile(result.data[0]); + } + }); + } + + async function saveProfile() { + try { + const result = await supabase + .from("profiles") + .update({ + username, + avatar_url, + }) + .eq("id", session?.user?.id); + + if (!result.error) { + setProfile(profile); + } + setEditMode(false); + } catch (error) { + console.error("Error saving profile:", error); + } + } + + async function updateProfile({ + username, + avatar_url, + }: { + username: string; + avatar_url: string; + }) { + try { + setEditMode(true); + if (!session?.user) throw new Error("No user authenticated"); + const updates = { + id: session?.user?.id, + username, + avatar_url, + updated_at: new Date().toISOString(), + }; + let { error } = await supabase.from("profiles").upsert(updates); + if (error) throw error; + alert("Profile updated"); + } catch (error) { + console.error("Error updating profile:", error); + } finally { + setEditMode(false); + } + } + + const uploadAvatar: React.ChangeEventHandler = async ( + event + ) => { + try { + setIsUploading(true); + if (!event.target.files || event.target.files.length === 0) { + throw new Error("You must select an image to upload"); + } + + const file = event.target.files[0]; + const fileExt = file.name.split(".").pop(); + const fileName = `${session?.user?.id}.${fileExt}`; + const filePath = `${fileName}`; + let { error: uploadError } = await supabase.storage + .from("avatars") + .upload(filePath, file, { upsert: true }); + if (uploadError) { + throw uploadError; + } + } catch (error) { + alert("Error uploading avatar, check console"); + console.error("Error uploading avatar:", error); + } finally { + setIsUploading(false); + } + }; + + useEffect(() => { + if (session?.user) { + fetchUser(); + } + }, [session?.user?.id]); + + return ( + <> + + Your profile + + {editMode ? ( + + setUsername(e.target.value)} + value={username || ""} + /> + + Save profile + + + ) : ( + + Username: {profile?.username || "N/A"} + setEditMode(true)}>Edit Profile + + )} + + + > + ); +} \ No newline at end of file diff --git a/components/Core/intro/gameLoopInfo.tsx b/components/Core/intro/gameLoopInfo.tsx new file mode 100644 index 00000000..96b2d100 --- /dev/null +++ b/components/Core/intro/gameLoopInfo.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +export default function gameLoopInfo () { + return ( + + + Our game offers a unique and engaging experience that combines the excitement of gaming with scientific knowledge. + + + By playing, you can actively contribute to scientific research by classifying objects based on real-world data. The current focus is on the planets mini-game, where you can help identify potential new planets discovered by the TESS telescope. + + + To start playing, sign up & create an account. Once you have logged in, you will be redirected to our training program, where we teach you how to play. + + + Once complete, you will have the ability to navigate to the planets page where you'll classify different objects with relevant information to help you make informed decisions. + + + The more you classify, the more items you collect, and the more items you collect, the more planets you can colonize. You can earn points that can be redeemed for rewards and recognition within the Star Sailors community. This is also where you can create posts about your decisions and invite other users to vote on your assessments. + + + ); +}; \ No newline at end of file diff --git a/components/Core/intro/missionSelectIndex.tsx b/components/Core/intro/missionSelectIndex.tsx new file mode 100644 index 00000000..7c8996cb --- /dev/null +++ b/components/Core/intro/missionSelectIndex.tsx @@ -0,0 +1,68 @@ +import React, { useEffect, useState } from "react"; +import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; +import { Container } from "react-bootstrap"; +import NewMissions from "../../onboarding/Missions/NewMissions"; +import NewMissionsFactionChosen from "../../onboarding/Missions/Chapter2MissionBase"; +import BigProjectsSection from "../../onboarding/Missions/MissionList"; + +export default function MissionSelectionForIndexPage () { + const supabase = useSupabaseClient(); + const session = useSession(); + + const [hasGoldenTelescope, setHasRequiredItem] = useState(false); + const [hasFaction, setHasFaction] = useState(false); + + useEffect(() => { + async function checkForGoldenTelescope () { + const { data: inventoryData, error: inventoryError } = await supabase + .from("inventoryUSERS") + .select("*") + .eq("owner", session?.user?.id) + .eq("item", 8); + + if (inventoryError) { + console.error("Error fetching inventory data: ", inventoryError); + return; + } + + setHasRequiredItem(inventoryData.length > 0); + } + + async function checkForFaction () { + const { data: profileData, error: profileError } = await supabase + .from("profiles") + .select("faction") + .eq("id", session?.user?.id); + + if (profileError) { + console.error("Error fetching user profile: ", profileError); + return; + } + + setHasFaction(!!profileData[0]?.faction); + } + + checkForGoldenTelescope(); + checkForFaction(); + }, [session]); + + if (hasFaction) { + return ( + + + + ); + }; + + if (hasGoldenTelescope) { + return ( + + + + ); + }; + + return ( + <>> + ); +}; \ No newline at end of file diff --git a/components/FriendInfo.js b/components/FriendInfo.js deleted file mode 100644 index 48dc45f6..00000000 --- a/components/FriendInfo.js +++ /dev/null @@ -1,13 +0,0 @@ -import Avatar from "./Avatar"; - -export default function FriendInfo() { - return ( - - - - Jane Doe - 5 mutual friends - - - ); -} \ No newline at end of file diff --git a/components/Gameplay/Garden.tsx b/components/Gameplay/Garden.tsx new file mode 100644 index 00000000..295a107b --- /dev/null +++ b/components/Gameplay/Garden.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import Layout from '../Section/Layout'; +import Footer from '../Core/Footer'; +import MusicPlayer from '../Core/assets/MusicPlayer'; +import Bottombar from '../Core/BottomBar'; +// import { PlanetGalleryIndexComp } from '../../../../pages/tests/planets'; + +interface Anomaly { + id: string; + name: string; + icon: string; +} + +interface GardenProps { + anomalies: Anomaly[]; +} + +const Garden: React.FC = ({ anomalies }) => { + return ( + + {/* Add Anomaly */} + {/* */} + {anomalies.map((anomaly) => ( + + ))} + + + ); +}; + +export default Garden; \ No newline at end of file diff --git a/components/Gameplay/Generator/Controls.tsx b/components/Gameplay/Generator/Controls.tsx deleted file mode 100644 index 7a6cf167..00000000 --- a/components/Gameplay/Generator/Controls.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { useState, useEffect } from 'react'; - -import Row from 'react-bootstrap/Row'; -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import Tabs from 'react-bootstrap/Tabs'; -import Tab from 'react-bootstrap/Tabs'; - -import LayerPanel from './Panels/LayerPanel'; -import InfoPanel from './Panels/InfoPanel'; -import GraphicsPanel from './Panels/GraphicsPanel'; - -import { useStatePersisted } from './Hooks/use-state-persisted'; -import { PlanetEditorState } from './Hooks/use-planet-editor-state'; - -const tabClasses = 'border-left border-right border-bottom'; -const tabStyles = { - paddingTop: '10px', - paddingLeft: '6px', - paddingRight: '6px' -}; - -export default function Controls ({ planetState }: { planetState: PlanetEditorState }) { - const [tab, setTab] = useStatePersisted('world-gen:active-tab', 'planet-info-tab'); - console.log(tab); - - return ( - <> - - - - - - - {/* - - - - - - - - - - */} - - - - > - ); -} \ No newline at end of file diff --git a/components/Gameplay/Generator/FieldEditors.tsx b/components/Gameplay/Generator/FieldEditors.tsx deleted file mode 100644 index 1bb3627d..00000000 --- a/components/Gameplay/Generator/FieldEditors.tsx +++ /dev/null @@ -1,172 +0,0 @@ -import Row from 'react-bootstrap/Row'; -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import Button from 'react-bootstrap/Button'; -import Octicon, { Sync } from '@primer/octicons-react'; -import InputGroup from 'react-bootstrap/InputGroup'; -import Tooltip from 'rc-tooltip'; -import Slider from 'rc-slider'; -import { Vector2, Vector3 } from 'three'; - -import { randomSeed } from './Services/helpers'; -import { SliderPicker as ColorSlider } from 'react-color'; - -const sliderStyle = { height: '24px', }; - -export function TextBox ( props: { label: string, value: string, onChange: ( value: string ) => void } ) { - return ( - - {props.label}: {props.value + ''} - - - ); - - function handleChange ( e: any ) { - props.onChange && props.onChange( e.target.value ); - } -} - -export function SeedInput(props: { label?: string, value: string, onChange: (value: string) => void }) { - return ( - - {props.label || 'Seed'}: - - - - - - - - - - ); - - function handleRandomization() { - props.onChange && props.onChange(randomSeed()); - } - - function handleChange(e: any) { - props.onChange && props.onChange(e.target.value); - } -} - -export function ColorPicker(props: { label: string, value: string, onChange: (value: string) => void }) { - - return ( - - {props.label}: {props.value} - - - ); - - function handleChange(e: any) { - props.onChange && props.onChange(e.hex.toUpperCase()); - } -} - -export function NumberSlider(props: { label: string, min: number, max: number, step: number, value: number, onChange: (value: number) => void }) { - return ( - - {props.label}: {props.value} - - - ); -} - -const VECTOR_LABEL_WIDTH = 3; -export function Vector2Slider({ label, min, max, step, value, onChange }: { label: string, min: Vector2 | number, max: Vector2 | number, step?: Vector2 | number, value: Vector2, onChange: (value: Vector2) => void }) { - step = typeof step === 'undefined' ? 1 : step; - - let vectorMin = typeof min === 'number' ? new Vector2(min, min) : min; - let vectorMax = typeof max === 'number' ? new Vector2(max, max) : max; - let vectorStep = typeof step === 'number' ? new Vector2(step, step) : step; - - return ( - {label}: - - X: {value.x} - - - - - - Y: {value.y} - - - - - ); - - function handleChange(part: 'x' | 'y') { - return (newValue: number) => { - if (onChange) { - if (part === 'x') { - onChange(new Vector2(newValue, value.y)); - } else { - onChange(new Vector2(value.x, newValue)); - } - } - } - } -} - -export function Vector3Slider({ label, min, max, step, value, onChange }: { label: string, min: Vector3 | number, max: Vector3 | number, step?: Vector3 | number, value: Vector3, onChange: (value: Vector3) => void }) { - step = typeof step === 'undefined' ? 1 : step; - - let vectorMin = typeof min === 'number' ? new Vector3(min, min, min) : min; - let vectorMax = typeof max === 'number' ? new Vector3(max, max, max) : max; - let vectorStep = typeof step === 'number' ? new Vector3(step, step, step) : step; - - return ( - {label}: - - X: {value.x} - - - - - - Y: {value.y} - - - - - - Z: {value.z} - - - - - ); - - function handleChange(part: 'x' | 'y' | 'z') { - return (newValue: number) => { - if (onChange) { - switch (part) { - case 'x': - onChange(new Vector3(newValue, value.y, value.z)); - break; - case 'y': - onChange(new Vector3(value.x, newValue, value.z)); - break; - case 'z': - onChange(new Vector3(value.x, value.y, newValue)); - break; - } - } - } - } -} - -export function CheckboxInput(props: { label: string, value: boolean, onChange: (value: boolean) => void }) { - - return ( - - - - ); - - function handleChange(e: any) { - props.onChange && props.onChange(e.target.checked); - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/GithubCorner.tsx b/components/Gameplay/Generator/GithubCorner.tsx deleted file mode 100644 index 47822139..00000000 --- a/components/Gameplay/Generator/GithubCorner.tsx +++ /dev/null @@ -1,51 +0,0 @@ -export default function GitHubCorner() { - return ( - <> - - - - - - - - - > - ) -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Hooks/use-planet-editor-state.ts b/components/Gameplay/Generator/Hooks/use-planet-editor-state.ts deleted file mode 100644 index e790e753..00000000 --- a/components/Gameplay/Generator/Hooks/use-planet-editor-state.ts +++ /dev/null @@ -1,147 +0,0 @@ -import { useEffect, useState } from 'react'; - -import { Planet } from '../Models/planet'; -import { randomSeed, guid } from '../Services/helpers'; -import { MaskTypes, createContintentNoise, PlanetLayer } from '../Models/planet-settings'; -import { useStatePersisted } from './use-state-persisted'; -import { useStateArray, StateArray } from './use-state-array'; - -export type StateInstance = { current: T, set(value: T): void }; - -function usePlanetEditorFieldState(key: string, initialValue: T, map?: (value: T) => T) { - const [current, set] = useStatePersisted(`world-gen:planet-editor:${key}`, initialValue); - const [radiusRef, setRadiusRef] = useState(); - - function mappedSet(value: T) { - if (map) value = map(value); - set(value); - } - - return { current, set: mappedSet }; -} - -export function usePlanetEditorState(planet: Planet): PlanetEditorState { - - const name = usePlanetEditorFieldState('name', '', value => { - planet.name = value; - return planet.name; - }); - - const seed = usePlanetEditorFieldState('seed', randomSeed(), value => { - planet.seed = value; - planet.regenerateTerrain(); - planet.regenerateShading(); - return planet.seed; - }); - - const radius = usePlanetEditorFieldState('radius', 2, value => { - planet.surface.radius = value; // Set this value via a get request from Flask based on Lightkurve output, add an option to override for demo purposes - planet.regenerateTerrain(); - planet.regenerateShading(); - return planet.surface.radius; - }); - - const seaLevel = usePlanetEditorFieldState('seaLevel', 1, value => { - planet.sea.radius = value; - planet.sea.regenerateTerrain(); - planet.sea.regenerateShading(); - return planet.sea.radius; - }); - - const seaColor = usePlanetEditorFieldState('seaColor', '#0D1086', value => { - planet.sea.color = value; - planet.sea.regenerateShading(); - return planet.sea.color; - }); - - const colors = usePlanetEditorFieldState('colors', '#2D6086', value => { - planet.surface.regenerateShading(); - return value; - }); - - const layers = useStateArray([{ - id: guid(), - name: '', - enabled: true, - maskType: MaskTypes.None, - noiseSettings: createContintentNoise() - }], value => { - planet.surface.terrainLayers = value; - //planet.regenerateMesh(); - planet.surface.regenerateTerrain(); - planet.surface.regenerateShading(); - return planet.surface.terrainLayers; - }); - - const wireframes = usePlanetEditorFieldState('wireframes', true, value => { - planet.surface.wireframes = value; - return planet.surface.wireframes; - }); - - const resolution = usePlanetEditorFieldState('resolution', 64, value => { - planet.surface.resolution = Math.max(2, value); - planet.sea.resolution = planet.surface.resolution * 2; - planet.regenerateMesh(); - planet.regenerateTerrain(); - planet.regenerateShading(); - return planet.surface.resolution; - }); - - const rotate = usePlanetEditorFieldState('rotate', 0.21, value => { - planet.rotate = value; - return planet.rotate; - }); - - useEffect(() => { - console.log(`Setting initial planet settings...`); - planet.name = name.current; - planet.seed = seed.current; - planet.surface.radius = radius.current; - - planet.sea.radius = seaLevel.current; - planet.sea.color = seaColor.current; - - planet.surface.terrainLayers = layers.current; - - planet.rotate = rotate.current; - planet.surface.resolution = resolution.current; - planet.surface.wireframes = wireframes.current; - - planet.regenerateMesh(); - planet.regenerateTerrain(); - planet.regenerateShading(); - }, []); - - return { - name, - colors, - radius, - seaLevel, - seaColor, - - seed, - - layers, - - wireframes, - resolution, - rotate - }; -} - -export interface PlanetEditorState { - name: StateInstance; - seed: StateInstance; - - colors: StateInstance; - radius: StateInstance; - - seaLevel: StateInstance; - seaColor: StateInstance; - - layers: StateArray, - - wireframes: StateInstance; - resolution: StateInstance; - rotate: StateInstance; -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Hooks/use-state-array.ts b/components/Gameplay/Generator/Hooks/use-state-array.ts deleted file mode 100644 index 8ecbd1af..00000000 --- a/components/Gameplay/Generator/Hooks/use-state-array.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { useState, Dispatch, SetStateAction } from 'react'; - -import { useStatePersisted } from './use-state-persisted'; - -export interface StateArray { - current: T[]; - set(value: T[]): void; - /** - * Adds an item to the end of the array. - * @param item The item to add. - */ - push(item: T): void; - /** - * Adds an item to the start of the array. - * @param item The item to add. - */ - unshift(item: T): void; - removeAt(index: number): void; - removeWhere(predicate: (value: T, index: number, array: T[]) => value is T): void; - clear(): void; - update(index: number, fields: Partial): void -} - -/** - * Creates a state and setter function that persists the array to localStorage. - * @param key The key to use for localStorage. - * @param initialValue The initial array value to use. - * @param map An optional custom map function to modify. - */ -export function useStateArrayPersisted(key: string, initialValue: T[] = [], map?: (newState: T[]) => T[]): StateArray { - const [current, set] = useStatePersisted(key, initialValue); - - return _useStateArrayLogic(current, set, map); -} - -/** - * Creates a state and setter function for the array. - * @param initialValue The initial value to use. - * @param map An optional custom map function to modify. - */ -export function useStateArray(initialValue: T[] = [], map?: (newState: T[]) => T[]): StateArray { - const [current, set] = useState(initialValue); - - return _useStateArrayLogic(current, set, map); -} - -function _useStateArrayLogic(current: T[], setArr: Dispatch>, map?: any): StateArray { - return { - current, - set(value: T[]) { - mappedSet(value); - }, - push(item: T) { - mappedSet([...current, item]); - }, - unshift(item: T) { - mappedSet([item, ...current]); - }, - removeAt(index: number) { - mappedSet([...current.slice(0, index), ...current.slice(index + 1)]); - }, - removeWhere(predicate: (value: T, index: number, array: T[]) => value is T) { - mappedSet(current.filter(predicate)); - }, - clear() { - mappedSet([]) - }, - update(index: number, fields: Partial) { - mappedSet([...current.slice(0, index), { ...current[index], ...fields }, ...current.slice(index + 1)]); - } - }; - - function mappedSet(arr: T[]) { - if (map) arr = map(arr); - setArr(arr); - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Hooks/use-state-persisted.ts b/components/Gameplay/Generator/Hooks/use-state-persisted.ts deleted file mode 100644 index c790bd18..00000000 --- a/components/Gameplay/Generator/Hooks/use-state-persisted.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { useState } from 'react'; - -import { storage } from '../Services/helpers'; - -/** - * Creates a state and setter function that persists to localStorage. - * @param key The key to use for localStorage. - * @param initialValue The initial value to use. - */ -export function useStatePersisted(key: string, initialValue: T): [T, (value: T) => void] { - if (!process.browser) { - return [initialValue as T, () => { }]; - } - - const [state, setState] = useState(getCached(key, initialValue)); - - return [state, setLocalStorageState]; - - function setLocalStorageState(value: T | ((value: T) => T)) { - if (value instanceof Function) { - setState(prev => { - const newState = value(prev); - return storage.local.set(key, newState); - }); - } else { - storage.local.set(key, value); - setState(value); - } - } -} - -function getCached(key: string, initialValue: T) { - const cached = storage.local.get(key); - if(cached === null && initialValue !== null) { - storage.local.set(key, initialValue); - } - return cached !== null ? cached : initialValue; - } \ No newline at end of file diff --git a/components/Gameplay/Generator/Layout.tsx b/components/Gameplay/Generator/Layout.tsx deleted file mode 100644 index 0a384343..00000000 --- a/components/Gameplay/Generator/Layout.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import Head from "next/head"; -import Container from "react-bootstrap/Container"; -import GitHubCorner from "./GithubCorner"; - -export default function Layout ( props: { children: any[] } ) { - return <> - World Generation - - - {props.children}; - - >; -}; \ No newline at end of file diff --git a/components/Gameplay/Generator/Models/direction.ts b/components/Gameplay/Generator/Models/direction.ts deleted file mode 100644 index fae088e3..00000000 --- a/components/Gameplay/Generator/Models/direction.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Vector3 } from "three"; - -export class Direction { - constructor (public name: string, public vector: Vector3) { } -} - -export const directions = { - UP: new Direction('Up', new Vector3(0, 1, 0)), - DOWN: new Direction('Down', new Vector3(0, -1, 0)), - LEFT: new Direction('Left', new Vector3(-1, 0, 0)), - RIGHT: new Direction('Right', new Vector3(1, 0, 0)), - FORWARD: new Direction('Forward', new Vector3(0, 0, 1)), - BACK: new Direction('Back', new Vector3(0, 0, -1)) -} - -export const directionsList = [ - directions.UP, - directions.DOWN, - directions.LEFT, - directions.RIGHT, - directions.FORWARD, - directions.BACK, -] \ No newline at end of file diff --git a/components/Gameplay/Generator/Models/planet-mesh.ts b/components/Gameplay/Generator/Models/planet-mesh.ts deleted file mode 100644 index 51cb3009..00000000 --- a/components/Gameplay/Generator/Models/planet-mesh.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { MeshPhongMaterial, Geometry, Color, Vector3, VertexColors, MeshLambertMaterial} from 'three'; -import { ShapeGenerator } from './shape-generator'; -import { QuadSphereMesh } from './quad-sphere-mesh'; -import { PlanetLayer } from './planet-settings'; - -export class PlanetMesh extends QuadSphereMesh { - private _radius: number; - public get radius() { return this._radius; } - public set radius (value: number) { this._radius = Math.max(0, value); } - public planetColor: string; - private _seed: string; - public set seed (value: string) { this._seed = value; } - public terrainLayers: PlanetLayer[] = []; // Of interface PlanetLayer, type array - public constructor() { - super (32, new MeshLambertMaterial({ - color: '#f0f0f0' - })); - } - - public regenerateTerrain() { - const shapeGenerator = new ShapeGenerator(this.terrainLayers, this.radius, this._seed); // Look at basic arguments for ShapeGenerator class - const geometry = this.geometry as Geometry; - geometry.vertices = geometry.vertices.map(vertex => shapeGenerator.CalculatePointOnPlanet(vertex)); - geometry.computeFaceNormals(); - geometry.computeVertexNormals(); - geometry.verticesNeedUpdate = true; - geometry.normalsNeedUpdate = true; - geometry.elementsNeedUpdate = true; - this.regenerateWireFrames(); - } - - public regenerateShading() { - const faceMaterial = this.material as MeshPhongMaterial; - faceMaterial.vertexColors = VertexColors; - faceMaterial.color = new Color('#ffffff'); // new Color (this.settings.color); - const center = new Vector3(0, 0, 0); - const geometry = this.geometry as Geometry; - geometry.faces.forEach(face => { - face.vertexColors = [face.a, face.b, face.c].map(i => { - const dist = geometry.vertices[i].distanceTo(center) - (this.radius+this.terrainLayers[0].noiseSettings.minValue); - if(dist > 0) { - // Land - return new Color('#008000'); - } else { - - // Water - return new Color('#000080'); - } - }); - }); - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Models/planet-settings.ts b/components/Gameplay/Generator/Models/planet-settings.ts deleted file mode 100644 index 2c6ec67c..00000000 --- a/components/Gameplay/Generator/Models/planet-settings.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { Vector2, Vector3 } from 'three'; - -export interface PlanetSettings { - name: string; - seed: string; - radius: number; // Size of the planet generated is based on an int/number value defined by the user - color: string; - terrainLayers: PlanetLayer[]; // Will be made up of PlanetLayer classes -} - -export interface PlanetLayer { // Each layer has these parcreateMountainNoiseameters - id?: string; // Can be set by tic ID -> multiple layers from different sectors? - name: string; - enabled: boolean; - maskType: MaskTypes; // Then wrap the image mask around it - noiseSettings?: NoiseSettings; -} - -export interface NoiseSettings { - baseRoughness: number; - roughness: number; - persistence: number; - octaves: number; // 1+ - offset: Vector3; - minValue: number; - strength: number; - stretch: Vector2; // 1+ - skew: Vector3; // 0-1 -} - -export enum MaskTypes { - None = 'None', - FirstLayer = 'First Layer', - PrevLayer = 'Previous Layer', -} - -export function createContintentNoise() { - return { - baseRoughness: 1.5, - roughness: 2.5, - persistence: 0.3, - octaves: 3, - offset: new Vector3(0, 0, 0), - minValue: -0.05, - strength: 0.3, - stretch: new Vector2(0.7, 0.7), - skew: new Vector3(0, 0, 0) - } as NoiseSettings; -}; - -export function createMountainNoise() { - return { - baseRoughness: 1.5, - roughness: 2.7, - persistence: 0.35, - octaves: 6, - offset: new Vector3(0, 0, 0), - minValue: -0.05, - strength: 0.5, - stretch: new Vector2(1, 1), - skew: new Vector3(0, 0, 0), - } as NoiseSettings; -}; \ No newline at end of file diff --git a/components/Gameplay/Generator/Models/planet.ts b/components/Gameplay/Generator/Models/planet.ts deleted file mode 100644 index 436096db..00000000 --- a/components/Gameplay/Generator/Models/planet.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Group } from "three"; -import { PlanetMesh } from "./planet-mesh"; -import { SeaMesh } from "./sea-mesh"; - -export class Planet extends Group { - public surface: PlanetMesh; - public sea: SeaMesh; - private _seed: string; - public get seed () { return this._seed; } - public set seed ( value: string ) { - this._seed = value; - this.surface.seed = this.sea.seed = this._seed; - } - - public rotate: number; - constructor () { - super(); - this.add(this.surface = new PlanetMesh()); - this.add(this.sea = new SeaMesh(this.surface)); - } - - public regenerateTerrain() { - this.surface.regenerateTerrain(); - this.sea.regenerateTerrain(); - } - - public regenerateShading() { - this.surface.regenerateShading(); - this.sea.regenerateShading(); - } - - public regenerateMesh() { - this.surface.regenerateMesh(); - this.sea.regenerateMesh(); - } - - public update(dT: number) { - if (!!this.rotate) { - this.rotateY(dT * this.rotate); - } - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Models/quad-sphere-mesh.ts b/components/Gameplay/Generator/Models/quad-sphere-mesh.ts deleted file mode 100644 index ec7fee47..00000000 --- a/components/Gameplay/Generator/Models/quad-sphere-mesh.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Mesh, LineSegments, Material, Geometry, WireframeGeometry, LineBasicMaterial, Color, Vector3, Face3, Vector2 } from 'three'; -import { directionsList, Direction } from './direction'; - -export class QuadSphereMesh extends Mesh { - private _resolution: number; - public get resolution(): number { return this._resolution; } - public set resolution( value: number ) { this._resolution = Math.max(Math.min(value, 256), 2); } - private _wireframes: LineSegments; - public get wireframes() { return this._wireframes.visible; } - public set wireframes( value: boolean ) { this._wireframes.visible = value; } - public constructor (resolution: number = 32, material?: Material ) { - super(new Geometry(), material); - this.resolution = resolution; - this._wireframes = new LineSegments(); - this._wireframes.visible = false; - this.add(this._wireframes); - }; - - public regenerateMesh () { - let geometry = new Geometry(); - directionsList.forEach(direction => { geometry.merge(this._generateFaceGeometry(direction)); }); - - // Merge vertices into a single geometry - geometry.mergeVertices(); - geometry.computeFaceNormals(); - geometry.computeVertexNormals(); - - this.geometry.dispose(); - this.geometry = geometry; - } - - protected regenerateWireFrames () { - this._wireframes.geometry.dispose(); // Build the wireframes - this._wireframes.geometry = new WireframeGeometry(this.geometry); - const wireframeMat = (this._wireframes.material as LineBasicMaterial); - wireframeMat.color = new Color(0x000000); - wireframeMat.linewidth = 2; - wireframeMat.opacity = 0.25; - wireframeMat.transparent = true; - } - - private _generateFaceGeometry(localUp: Direction) { - const axisA = new Vector3(localUp.vector.y, localUp.vector.z, localUp.vector.x); - const axisB = localUp.vector.clone().cross(axisA); - const geometry = new Geometry(); - const vertices: Vector3[] = []; - const triangles: Face3[] = []; - - for (let y = 0; y < this.resolution; y++) { - for (let x = 0; x < this.resolution; x++) { - const i = x + y * this.resolution; - const percent = new Vector2(x, y).divideScalar(this.resolution - 1); - const pointOnUnitCube = localUp.vector.clone() - .add(axisA.clone().multiplyScalar((percent.x - 0.5) * 2)) - .add(axisB.clone().multiplyScalar((percent.y - 0.5) * 2)); - vertices[i] = pointOnUnitCube.clone().normalize(); - - if (x != this.resolution - 1 && y != this.resolution - 1) { - triangles.push( - new Face3(i, i + this.resolution + 1, i + this.resolution), - new Face3(i, i + 1, i + this.resolution + 1) - ); - } - } - } - - geometry.vertices = vertices; - geometry.faces = triangles; - return geometry; - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Models/sea-mesh.ts b/components/Gameplay/Generator/Models/sea-mesh.ts deleted file mode 100644 index a7ad7020..00000000 --- a/components/Gameplay/Generator/Models/sea-mesh.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { MeshPhongMaterial, Geometry, Color, Vector3, VertexColors} from 'three'; -import { QuadSphereMesh } from './quad-sphere-mesh'; -import { PlanetMesh } from './planet-mesh'; - -export class SeaMesh extends QuadSphereMesh { - private _radius: number = 1; - public get radius () { return this._radius } - public set radius ( value: number ) { this._radius = Math.max(0, value); } - public get opacity () { return ( this.material as MeshPhongMaterial ).opacity; } - public set opacity ( value: number ) { ( this.material as MeshPhongMaterial ).opacity = value; } - - public color: string = '#002050'; - public seed: string; - - private _planet: PlanetMesh; - public constructor (planet: PlanetMesh) { - super ( 32, new MeshPhongMaterial ({ - transparent: true, - color: '#000810', - opacity: 0.85, - specular: '#004488', - emissive: '#001030', - flatShading: true, - })); - - this._planet = planet; - } - - public regenerateTerrain() { - const geometry = this.geometry as Geometry; - geometry.vertices = geometry.vertices.map( vertex => vertex.normalize().multiplyScalar(( this._planet.radius + this._radius - 1 ))); - geometry.computeFaceNormals(); - geometry.computeVertexNormals(); - geometry.verticesNeedUpdate = true; - geometry.normalsNeedUpdate = true; - geometry.elementsNeedUpdate = true; - this.regenerateWireFrames(); - } - - public regenerateShading() { - const faceMaterial = this.material as MeshPhongMaterial; - faceMaterial.vertexColors = VertexColors; // facematerial.color = new Color('#ffffff'); // new Color(this.settings.color); - const center = new Vector3(0, 0, 0); - const geometry = this.geometry as Geometry; // geometry.faces.forEach(face => { face.vertexColors = [face.a, face.b, face.c].map(i => new Color('#000080')); }) - } - - public update(dT: number) { - /* if (!!this.rotate) { - this.rotateY(dT*this.rotate); - } */ - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Models/shape-generator.ts b/components/Gameplay/Generator/Models/shape-generator.ts deleted file mode 100644 index c5b521c1..00000000 --- a/components/Gameplay/Generator/Models/shape-generator.ts +++ /dev/null @@ -1,79 +0,0 @@ - -import { Vector3, Quaternion } from 'three'; -import Alea from 'alea'; -import SimplexNoise from 'simplex-noise'; // We had import errors with the latest Simplex version (^4.0.1), so we've gone backwards for now - -import { PlanetLayer, NoiseSettings, MaskTypes } from './planet-settings'; - -export class ShapeGenerator { - private _noiseFilters: NoiseFilter[]; - private _layers: PlanetLayer[]; - private _radius: number; - - public constructor(layers: PlanetLayer[], radius: number, seed: string) { - this._layers = layers; - this._radius = radius; - - const prng = Alea(seed || ''); - this._noiseFilters = []; - for (let i = 0; i < this._layers.length; i++) { - this._noiseFilters[i] = new NoiseFilter(new SimplexNoise(prng), this._layers[i].noiseSettings); - } - } - - public CalculatePointOnPlanet(pointOnSphere: Vector3): Vector3 { - let firstLayerValue = 0; - let prevLayerValue = 0; - let elevation = -1; - - pointOnSphere.normalize(); - const pointOnUnitSphere: Vector3 = pointOnSphere.clone(); - - if (this._noiseFilters.length > 0) { - firstLayerValue = prevLayerValue = this._noiseFilters[0].Evaluate(pointOnUnitSphere); - if (this._layers[0].enabled) { - elevation = firstLayerValue; - } - } - - for (let i = 1; i < this._noiseFilters.length; i++) { - if (this._layers[i].enabled) { - const mask = (this._layers[i].maskType === MaskTypes.FirstLayer && firstLayerValue > this._layers[0].noiseSettings.minValue) ? 1 : - (this._layers[i].maskType === MaskTypes.PrevLayer && prevLayerValue > this._layers[i-1].noiseSettings.minValue) ? 1 : - (this._layers[i].maskType === MaskTypes.None) ? 1 : 0; - - prevLayerValue = this._noiseFilters[i].Evaluate(pointOnUnitSphere); - elevation = Math.max(elevation, prevLayerValue * mask); - } - } - - return pointOnSphere.multiplyScalar(this._radius + elevation); - } -} - -export class NoiseFilter { - - public constructor(private noise: SimplexNoise, private settings: NoiseSettings) { } - - public Evaluate(point: Vector3): number { - let noiseValue = 0; - let frequency = this.settings.baseRoughness; - let amplitude = 1; - let ampTotal = amplitude; - - let q = new Quaternion().setFromAxisAngle(this.settings.skew, Math.PI / 2); - for (let i = 0; i < this.settings.octaves; i++) { - let p = point.clone().multiplyScalar(frequency).add(this.settings.offset); - p = p.applyQuaternion(q); - let v = (this.noise.noise3D(p.x/this.settings.stretch.x, p.y/this.settings.stretch.y, p.z/this.settings.stretch.x)); - noiseValue += v * amplitude; - frequency *= this.settings.roughness; - amplitude *= this.settings.persistence; - ampTotal += amplitude; - } - - noiseValue = noiseValue / ampTotal; - noiseValue = Math.max(noiseValue, this.settings.minValue); - return noiseValue * this.settings.strength; - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Notebooks/Notebook.js b/components/Gameplay/Generator/Notebooks/Notebook.js deleted file mode 100644 index f3ffa00d..00000000 --- a/components/Gameplay/Generator/Notebooks/Notebook.js +++ /dev/null @@ -1,10 +0,0 @@ -import { JupyterNotebookViewer } from 'react-jupyter-notebook-viewer'; - -export default function Notebook ( props ) { - const notebook = new JupyterNotebookViewer ( props ); - return ( - <> - { notebook } - > - ); -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Panels/GraphicsPanel.tsx b/components/Gameplay/Generator/Panels/GraphicsPanel.tsx deleted file mode 100644 index a344f50d..00000000 --- a/components/Gameplay/Generator/Panels/GraphicsPanel.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { CheckboxInput, NumberSlider } from "../FieldEditors"; -import { PlanetEditorState } from "../Hooks/use-planet-editor-state"; - -export default function GraphicsPanel({ planetState }: { planetState: PlanetEditorState }) { - return ( - <> - - - - > - ); -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Panels/InfoPanel.tsx b/components/Gameplay/Generator/Panels/InfoPanel.tsx deleted file mode 100644 index cf505350..00000000 --- a/components/Gameplay/Generator/Panels/InfoPanel.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { PlanetEditorState } from "../Hooks/use-planet-editor-state"; -import { NumberSlider, TextBox, SeedInput, ColorPicker } from "../FieldEditors"; -import Form from 'react-bootstrap/Form'; -import Col from "react-bootstrap/Col"; - -export default function InfoPanel({ planetState }: { planetState: PlanetEditorState }) { - return ( - <> - - - - - - - - - - - - - - - - - - - - - - {/* */} - > - ); -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Panels/LayerPanel.tsx b/components/Gameplay/Generator/Panels/LayerPanel.tsx deleted file mode 100644 index a82748bc..00000000 --- a/components/Gameplay/Generator/Panels/LayerPanel.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import Button from 'react-bootstrap/Button'; -import DropdownButton from 'react-bootstrap/DropdownButton'; -import Dropdown from 'react-bootstrap/Dropdown'; -import ListGroup from 'react-bootstrap/ListGroup'; -import Octicon, { Trashcan } from '@primer/octicons-react'; - -import { NumberSlider, Vector2Slider, Vector3Slider } from '../FieldEditors'; -import { PlanetLayer, MaskTypes, createContintentNoise, createMountainNoise, NoiseSettings } from '../Models/planet-settings'; -import { PlanetEditorState } from '../Hooks/use-planet-editor-state'; -import { guid } from '../Services/helpers'; - -export default function LayerPanel({ planetState }: { planetState: PlanetEditorState }) { - return ( - - {planetState.layers.current.map((layer, i) => ( - - - - - Label: - - - - - - - Delete - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {i > 0 ? - Mask: - - {MaskTypes.None} - {MaskTypes.FirstLayer} - {MaskTypes.PrevLayer} - - : null } - - ))} - - - Terrain Presets - Continents - Mountains - Plataues - Hills - Atmosphere Presets - Light Clouds - Dense Clouds - Hurricans - Orbital Presets - Small Rings - Large Rings - - - - ); - - function addLayer(type: string) { - return function () { - planetState.layers.push({ - id: guid(), - name: '', - enabled: true, - maskType: planetState.layers.current.length === 0 ? MaskTypes.None : MaskTypes.FirstLayer, - noiseSettings: type === 'Continents' ? createContintentNoise() : createMountainNoise() - }); - } - } - - function removeLayer(index: number) { - return function () { - planetState.layers.removeAt(index); - } - } - - function handleNoiseChange(field: keyof NoiseSettings, layer: PlanetLayer, index: number) { - let fields = { ...layer }; - - return function (value: any) { - fields.noiseSettings[field] = value; - planetState.layers.update(index, fields); - }; - } - - function handleLayerChange(layer: PlanetLayer, index: number) { - - let fields = { ...layer }; - - return function (e: any) { - //console.log(`${e.target.name} -> ${e.target.value}`); - switch (e.target.name) { - case 'enabled': - fields.enabled = e.target.checked; - break; - case 'maskType': - fields.maskType = e.target.value; - } - - planetState.layers.update(index, fields); - }; - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Panels/SceneDisplay.tsx b/components/Gameplay/Generator/Panels/SceneDisplay.tsx deleted file mode 100644 index 209c1124..00000000 --- a/components/Gameplay/Generator/Panels/SceneDisplay.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { useLayoutEffect, useRef } from "react"; -import SceneManager from "../Services/base-scene-manager"; - -export default function SceneDisplay ({sceneManager}: {sceneManager: SceneManager}) { - const canvasRef = useRef(null); - - if (process.browser) { - useLayoutEffect(() => { - console.log('Starting scene...'); - sceneManager.init(canvasRef.current); - sceneManager.start(); - - return () => { - console.log('Stopping scene...'); - sceneManager.stop(); - }; - }, []); - } - - return -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Services/base-scene-manager.ts b/components/Gameplay/Generator/Services/base-scene-manager.ts deleted file mode 100644 index 0ff8be9c..00000000 --- a/components/Gameplay/Generator/Services/base-scene-manager.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default interface SceneManager { - scene: THREE.Scene; - camera: THREE.Camera; - init(canvas: HTMLCanvasElement): void; - start(): void; - stop(): void; -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Services/helpers.ts b/components/Gameplay/Generator/Services/helpers.ts deleted file mode 100644 index 63e3a30a..00000000 --- a/components/Gameplay/Generator/Services/helpers.ts +++ /dev/null @@ -1,40 +0,0 @@ -export const EMPTY_STRING = ''; -export function guid(): string { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - return v.toString(16); - }); -}; - -export function randomSeed ( chunks: number = 2 ) { - return Array(chunks).fill(0).map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(36).toUpperCase()).join(''); -}; - -export class StorageAdapter { - private _storage: Storage; - - constructor(storage: 'localStorage'|'sessionStorage') { - this._storage = process.browser ? window[storage] : null; - } - - public get(key: string, defaultValue: T = null): T { - if (!this._storage) return defaultValue; - try { - const item = this._storage.getItem(key); - return item ? JSON.parse(item) : defaultValue; - } catch (error) { - console.log(error); - return defaultValue; - } - } - - public set(key: string, value: T): T { - if(this._storage) this._storage.setItem(key, JSON.stringify(value)); - return value; - } -} - -export const storage = { - local: new StorageAdapter('localStorage'), - session: new StorageAdapter('sessionStorage') -}; \ No newline at end of file diff --git a/components/Gameplay/Generator/Services/orbit-controls.ts b/components/Gameplay/Generator/Services/orbit-controls.ts deleted file mode 100644 index b97a0a9e..00000000 --- a/components/Gameplay/Generator/Services/orbit-controls.ts +++ /dev/null @@ -1,697 +0,0 @@ -import { Camera, Vector2, Vector3, Matrix4, EventDispatcher, MOUSE, OrthographicCamera, PerspectiveCamera, Quaternion, Spherical } from 'three'; - -const STATE = { - NONE: - 1, - ROTATE: 0, - DOLLY: 1, - PAN: 2, - TOUCH_ROTATE: 3, - TOUCH_DOLLY: 4, - TOUCH_PAN: 5 -}; - -const CHANGE_EVENT = { type: 'change' }; -const START_EVENT = { type: 'start' }; -const END_EVENT = { type: 'end' }; -const EPS = 0.000001; -/* -* -* This set of controls performs orbiting, dollying (zooming), and panning. -* Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). -* Orbit - left mouse / touch: one finger move -* Zoom - middle mouse, or mousewheel / touch: two finger spread or squish -* Pan - right mouse, or arrow keys / touch: three finger swipe -*/ -export class OrbitControls extends EventDispatcher { - object: Camera; - domElement: HTMLElement | HTMLDocument; - window: Window; - - // API - enabled: boolean; - target: Vector3; - - enableZoom: boolean; - zoomSpeed: number; - minDistance: number; - maxDistance: number; - enableRotate: boolean; - rotateSpeed: number; - enablePan: boolean; - keyPanSpeed: number; - autoRotate: boolean; - autoRotateSpeed: number; - minZoom: number; - maxZoom: number; - minPolarAngle: number; - maxPolarAngle: number; - minAzimuthAngle: number; - maxAzimuthAngle: number; - enableKeys: boolean; - keys: { LEFT: number; UP: number; RIGHT: number; BOTTOM: number; }; - mouseButtons: { ORBIT: MOUSE; ZOOM: MOUSE; PAN: MOUSE; }; - enableDamping: boolean; - dampingFactor: number; - - private spherical: Spherical; - private sphericalDelta: Spherical; - private scale: number; - private target0: Vector3; - private position0: Vector3; - private zoom0: any; - private state: number; - private panOffset: Vector3; - private zoomChanged: boolean; - - private rotateStart: Vector2; - private rotateEnd: Vector2; - private rotateDelta: Vector2 - - private panStart: Vector2; - private panEnd: Vector2; - private panDelta: Vector2; - - private dollyStart: Vector2; - private dollyEnd: Vector2; - private dollyDelta: Vector2; - - private updateLastPosition: Vector3; - private updateOffset: Vector3; - private updateQuat: Quaternion; - private updateLastQuaternion: Quaternion; - private updateQuatInverse: Quaternion; - - private panLeftV: Vector3; - private panUpV: Vector3; - private panInternalOffset: Vector3; - - private onContextMenu: EventListener; - private onMouseUp: EventListener; - private onMouseDown: EventListener; - private onMouseMove: EventListener; - private onMouseWheel: EventListener; - private onTouchStart: EventListener; - private onTouchEnd: EventListener; - private onTouchMove: EventListener; - private onKeyDown: EventListener; - - constructor (object: Camera, domElement?: HTMLElement, domWindow?: Window) { - super(); - this.object = object; - - this.domElement = ( domElement !== undefined ) ? domElement : document; - this.window = ( domWindow !== undefined ) ? domWindow : window; - - // Set to false to disable this control - this.enabled = true; - - // "target" sets the location of focus, where the object orbits around - this.target = new Vector3(); - - // How far you can dolly in and out ( PerspectiveCamera only ) - this.minDistance = 0; - this.maxDistance = Infinity; - - // How far you can zoom in and out ( OrthographicCamera only ) - this.minZoom = 0; - this.maxZoom = Infinity; - - // How far you can orbit vertically, upper and lower limits. - // Range is 0 to Math.PI radians. - this.minPolarAngle = 0; // radians - this.maxPolarAngle = Math.PI; // radians - - // How far you can orbit horizontally, upper and lower limits. - // If set, must be a sub-interval of the interval [ - Math.PI, Math.PI ]. - this.minAzimuthAngle = - Infinity; // radians - this.maxAzimuthAngle = Infinity; // radians - - // Set to true to enable damping (inertia) - // If damping is enabled, you must call controls.update() in your animation loop - this.enableDamping = false; - this.dampingFactor = 0.25; - - // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. - // Set to false to disable zooming - this.enableZoom = true; - this.zoomSpeed = 1.0; - - // Set to false to disable rotating - this.enableRotate = true; - this.rotateSpeed = 1.0; - - // Set to false to disable panning - this.enablePan = true; - this.keyPanSpeed = 7.0; // pixels moved per arrow key push - - // Set to true to automatically rotate around the target - // If auto-rotate is enabled, you must call controls.update() in your animation loop - this.autoRotate = false; - this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60 - - // Set to false to disable use of the keys - this.enableKeys = true; - - // The four arrow keys - this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 }; - - // Mouse buttons - this.mouseButtons = { ORBIT: MOUSE.LEFT, ZOOM: MOUSE.MIDDLE, PAN: MOUSE.RIGHT }; - - // for reset - this.target0 = this.target.clone(); - this.position0 = this.object.position.clone(); - this.zoom0 = (this.object as any).zoom; - - // for update speedup - this.updateOffset = new Vector3(); - // so camera.up is the orbit axis - this.updateQuat = new Quaternion().setFromUnitVectors( object.up, new Vector3( 0, 1, 0 ) ); - this.updateQuatInverse = this.updateQuat.clone().inverse(); - this.updateLastPosition = new Vector3(); - this.updateLastQuaternion = new Quaternion(); - - this.state = STATE.NONE; - this.scale = 1; - - // current position in spherical coordinates - this.spherical = new Spherical(); - this.sphericalDelta = new Spherical(); - - this.panOffset = new Vector3(); - this.zoomChanged = false; - - this.rotateStart = new Vector2(); - this.rotateEnd = new Vector2(); - this.rotateDelta = new Vector2(); - - this.panStart = new Vector2(); - this.panEnd = new Vector2(); - this.panDelta = new Vector2(); - - this.dollyStart = new Vector2(); - this.dollyEnd = new Vector2(); - this.dollyDelta = new Vector2(); - - this.panLeftV = new Vector3(); - this.panUpV = new Vector3(); - this.panInternalOffset = new Vector3(); - - // event handlers - FSM: listen for events and reset state - - this.onMouseDown = ( event: ThreeEvent ) => { - if ( this.enabled === false ) return; - event.preventDefault(); - if ( (event as any).button === this.mouseButtons.ORBIT ) { - if ( this.enableRotate === false ) return; - this.rotateStart.set( event.clientX, event.clientY ); - this.state = STATE.ROTATE; - } else if ( event.button === this.mouseButtons.ZOOM ) { - if ( this.enableZoom === false ) return; - this.dollyStart.set( event.clientX, event.clientY ); - this.state = STATE.DOLLY; - } else if ( event.button === this.mouseButtons.PAN ) { - if ( this.enablePan === false ) return; - this.panStart.set( event.clientX, event.clientY ); - this.state = STATE.PAN; - } - - if ( this.state !== STATE.NONE ) { - document.addEventListener( 'mousemove', this.onMouseMove, false ); - document.addEventListener( 'mouseup', this.onMouseUp, false ); - this.dispatchEvent( START_EVENT ); - } - }; - - this.onMouseMove = ( event: ThreeEvent ) => { - - if ( this.enabled === false ) return; - - event.preventDefault(); - - if ( this.state === STATE.ROTATE ) { - if ( this.enableRotate === false ) return; - this.rotateEnd.set( event.clientX, event.clientY ); - this.rotateDelta.subVectors( this.rotateEnd, this.rotateStart ); - const element = this.domElement === document ? this.domElement.body : this.domElement; - - // rotating across whole screen goes 360 degrees around - this.rotateLeft( 2 * Math.PI * this.rotateDelta.x / (element as any).clientWidth * this.rotateSpeed ); - // rotating up and down along whole screen attempts to go 360, but limited to 180 - this.rotateUp( 2 * Math.PI * this.rotateDelta.y / (element as any).clientHeight * this.rotateSpeed ); - this.rotateStart.copy( this.rotateEnd ); - - this.update(); - } else if ( this.state === STATE.DOLLY ) { - - if ( this.enableZoom === false ) return; - - this.dollyEnd.set( event.clientX, event.clientY ); - this.dollyDelta.subVectors( this.dollyEnd, this.dollyStart ); - - if ( this.dollyDelta.y > 0 ) { - this.dollyIn( this.getZoomScale() ); - } else if ( this.dollyDelta.y < 0 ) { - this.dollyOut( this.getZoomScale() ); - } - - this.dollyStart.copy( this.dollyEnd ); - this.update(); - } else if ( this.state === STATE.PAN ) { - - if ( this.enablePan === false ) return; - - this.panEnd.set( event.clientX, event.clientY ); - this.panDelta.subVectors( this.panEnd, this.panStart ); - this.pan( this.panDelta.x, this.panDelta.y ); - this.panStart.copy( this.panEnd ); - this.update(); - } - } - - this.onMouseUp = ( event: ThreeEvent ) => { - if ( this.enabled === false ) return; - document.removeEventListener( 'mousemove', this.onMouseMove, false ); - document.removeEventListener( 'mouseup', this.onMouseUp, false ); - - this.dispatchEvent( END_EVENT ); - this.state = STATE.NONE; - }; - - this.onMouseWheel = ( event: ThreeEvent ) => { - - if ( this.enabled === false || this.enableZoom === false || ( this.state !== STATE.NONE && this.state !== STATE.ROTATE ) ) return; - - event.preventDefault(); - event.stopPropagation(); - - if ( event.deltaY < 0 ) { - this.dollyOut( this.getZoomScale() ); - } else if ( event.deltaY > 0 ) { - this.dollyIn( this.getZoomScale() ); - } - - this.update(); - - this.dispatchEvent( START_EVENT ); // not sure why these are here... - this.dispatchEvent( END_EVENT ); - }; - - this.onKeyDown = ( event: ThreeEvent ) => { - - if ( this.enabled === false || this.enableKeys === false || this.enablePan === false ) return; - - switch ( event.keyCode ) { - case this.keys.UP: { - this.pan( 0, this.keyPanSpeed ); - this.update(); - } break; - case this.keys.BOTTOM: { - this.pan( 0, - this.keyPanSpeed ); - this.update(); - } break; - case this.keys.LEFT: { - this.pan( this.keyPanSpeed, 0 ); - this.update(); - } break; - case this.keys.RIGHT: { - this.pan( - this.keyPanSpeed, 0 ); - this.update(); - } break; - } - }; - - this.onTouchStart = ( event: ThreeEvent ) => { - - if ( this.enabled === false ) return; - - switch ( event.touches.length ) { - // one-fingered touch: rotate - case 1: { - if ( this.enableRotate === false ) return; - - this.rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); - this.state = STATE.TOUCH_ROTATE; - } break; - // two-fingered touch: dolly - case 2: { - if ( this.enableZoom === false ) return; - - var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; - var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; - - var distance = Math.sqrt( dx * dx + dy * dy ); - this.dollyStart.set( 0, distance ); - this.state = STATE.TOUCH_DOLLY; - } break; - // three-fingered touch: pan - case 3: { - if ( this.enablePan === false ) return; - - this.panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); - this.state = STATE.TOUCH_PAN; - } break; - default: { - this.state = STATE.NONE; - } - } - - if ( this.state !== STATE.NONE ) { - this.dispatchEvent( START_EVENT ); - } - }; - - this.onTouchMove = ( event: ThreeEvent ) => { - - if ( this.enabled === false ) return; - event.preventDefault(); - event.stopPropagation(); - - switch ( event.touches.length ) { - // one-fingered touch: rotate - case 1: { - if ( this.enableRotate === false ) return; - if ( this.state !== STATE.TOUCH_ROTATE ) return; // is this needed?... - - this.rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); - this.rotateDelta.subVectors( this.rotateEnd, this.rotateStart ); - - var element = this.domElement === document ? this.domElement.body : this.domElement; - - // rotating across whole screen goes 360 degrees around - this.rotateLeft( 2 * Math.PI * this.rotateDelta.x / (element as any).clientWidth * this.rotateSpeed ); - - // rotating up and down along whole screen attempts to go 360, but limited to 180 - this.rotateUp( 2 * Math.PI * this.rotateDelta.y / (element as any).clientHeight * this.rotateSpeed ); - - this.rotateStart.copy( this.rotateEnd ); - - this.update(); - } break; - // two-fingered touch: dolly - case 2: { - if ( this.enableZoom === false ) return; - if ( this.state !== STATE.TOUCH_DOLLY ) return; // is this needed?... - - //console.log( 'handleTouchMoveDolly' ); - var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; - var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; - - var distance = Math.sqrt( dx * dx + dy * dy ); - - this.dollyEnd.set( 0, distance ); - - this.dollyDelta.subVectors( this.dollyEnd, this.dollyStart ); - - if ( this.dollyDelta.y > 0 ) { - this.dollyOut( this.getZoomScale() ); - } else if ( this.dollyDelta.y < 0 ) { - this.dollyIn( this.getZoomScale() ); - } - - this.dollyStart.copy( this.dollyEnd ); - this.update(); - } break; - // three-fingered touch: pan - case 3: { - if ( this.enablePan === false ) return; - if ( this.state !== STATE.TOUCH_PAN ) return; // is this needed?... - this.panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); - this.panDelta.subVectors( this.panEnd, this.panStart ); - this.pan( this.panDelta.x, this.panDelta.y ); - this.panStart.copy( this.panEnd ); - this.update(); - } break; - default: { - this.state = STATE.NONE; - } - } - }; - - this.onTouchEnd = ( event: Event ) => { - - if ( this.enabled === false ) return; - this.dispatchEvent( END_EVENT ); - this.state = STATE.NONE; - } - - this.onContextMenu = (event) => { - event.preventDefault(); - }; - - this.domElement.addEventListener( 'contextmenu', this.onContextMenu, false ); - - this.domElement.addEventListener( 'mousedown', this.onMouseDown, false ); - this.domElement.addEventListener( 'wheel', this.onMouseWheel, false ); - - this.domElement.addEventListener( 'touchstart', this.onTouchStart, false ); - this.domElement.addEventListener( 'touchend', this.onTouchEnd, false ); - this.domElement.addEventListener( 'touchmove', this.onTouchMove, false ); - - this.window.addEventListener( 'keydown', this.onKeyDown, false ); - - // force an update at start - this.update(); - } - - update () { - const position = this.object.position; - this.updateOffset.copy( position ).sub( this.target ); - - // rotate offset to "y-axis-is-up" space - this.updateOffset.applyQuaternion( this.updateQuat ); - - // angle from z-axis around y-axis - this.spherical.setFromVector3( this.updateOffset ); - - if ( this.autoRotate && this.state === STATE.NONE ) { - this.rotateLeft( this.getAutoRotationAngle() ); - } - - (this.spherical as any).theta += (this.sphericalDelta as any).theta; - (this.spherical as any).phi += (this.sphericalDelta as any).phi; - - // restrict theta to be between desired limits - (this.spherical as (any) as any).theta = Math.max( this.minAzimuthAngle, Math.min( this.maxAzimuthAngle, (this.spherical as any).theta ) ); - - // restrict phi to be between desired limits - (this.spherical as any).phi = Math.max( this.minPolarAngle, Math.min( this.maxPolarAngle, (this.spherical as any).phi ) ); - - this.spherical.makeSafe(); - - (this.spherical as any).radius *= this.scale; - - // restrict radius to be between desired limits - (this.spherical as any).radius = Math.max( this.minDistance, Math.min( this.maxDistance, (this.spherical as any).radius ) ); - - // move target to panned location - this.target.add( this.panOffset ); - - this.updateOffset.setFromSpherical( this.spherical ); - - // rotate offset back to "camera-up-vector-is-up" space - this.updateOffset.applyQuaternion( this.updateQuatInverse ); - - position.copy( this.target ).add( this.updateOffset ); - - this.object.lookAt( this.target ); - - if ( this.enableDamping === true ) { - - (this.sphericalDelta as any).theta *= ( 1 - this.dampingFactor ); - (this.sphericalDelta as any).phi *= ( 1 - this.dampingFactor ); - - } else { - - this.sphericalDelta.set( 0, 0, 0 ); - - } - - this.scale = 1; - this.panOffset.set( 0, 0, 0 ); - - // update condition is: - // min(camera displacement, camera rotation in radians)^2 > EPS - // using small-angle approximation cos(x/2) = 1 - x^2 / 8 - - if ( this.zoomChanged || - this.updateLastPosition.distanceToSquared( this.object.position ) > EPS || - 8 * ( 1 - this.updateLastQuaternion.dot( this.object.quaternion ) ) > EPS ) { - - this.dispatchEvent( CHANGE_EVENT ); - this.updateLastPosition.copy( this.object.position ); - this.updateLastQuaternion.copy( this.object.quaternion ); - this.zoomChanged = false; - return true; - } - return false; - } - - panLeft( distance: number, objectMatrix: Matrix4 ) { - this.panLeftV.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix - this.panLeftV.multiplyScalar( - distance ); - this.panOffset.add( this.panLeftV ); - } - - panUp( distance: number, objectMatrix: Matrix4 ) { - this.panUpV.setFromMatrixColumn( objectMatrix, 1 ); // get Y column of objectMatrix - this.panUpV.multiplyScalar( distance ); - this.panOffset.add( this.panUpV ); - } - - // deltaX and deltaY are in pixels; right and down are positive - pan( deltaX: number, deltaY: number ) { - const element = this.domElement === document ? this.domElement.body : this.domElement; - - if (this._checkPerspectiveCamera(this.object)) { - // perspective - const position = this.object.position; - this.panInternalOffset.copy( position ).sub( this.target ); - var targetDistance = this.panInternalOffset.length(); - - // half of the fov is center to top of screen - targetDistance *= Math.tan( ( this.object.fov / 2 ) * Math.PI / 180.0 ); - - // we actually don't use screenWidth, since perspective camera is fixed to screen height - this.panLeft( 2 * deltaX * targetDistance / (element as any).clientHeight, this.object.matrix ); - this.panUp( 2 * deltaY * targetDistance / (element as any).clientHeight, this.object.matrix ); - } else if (this._checkOrthographicCamera(this.object)) { - // orthographic - this.panLeft( deltaX * ( this.object.right - this.object.left ) / this.object.zoom / (element as any).clientWidth, this.object.matrix ); - this.panUp( deltaY * ( this.object.top - this.object.bottom ) / this.object.zoom / (element as any).clientHeight, this.object.matrix ); - } else { - // camera neither orthographic nor perspective - console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); - this.enablePan = false; - } - } - - dollyIn( dollyScale: number ) { - if (this._checkPerspectiveCamera(this.object)) { - this.scale /= dollyScale; - } else if (this._checkOrthographicCamera(this.object)) { - this.object.zoom = Math.max( this.minZoom, Math.min( this.maxZoom, this.object.zoom * dollyScale ) ); - this.object.updateProjectionMatrix(); - this.zoomChanged = true; - } else { - console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); - this.enableZoom = false; - } - } - - dollyOut( dollyScale: number ) { - if (this._checkPerspectiveCamera(this.object)) { - this.scale *= dollyScale; - } else if (this._checkOrthographicCamera(this.object)) { - this.object.zoom = Math.max( this.minZoom, Math.min( this.maxZoom, this.object.zoom / dollyScale ) ); - this.object.updateProjectionMatrix(); - this.zoomChanged = true; - } else { - console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); - this.enableZoom = false; - } - } - - getAutoRotationAngle() { - return 2 * Math.PI / 60 / 60 * this.autoRotateSpeed; - } - - getZoomScale() { - return Math.pow( 0.95, this.zoomSpeed ); - } - - rotateLeft( angle: number ) { - (this.sphericalDelta as any).theta -= angle; - } - - rotateUp( angle: number ) { - (this.sphericalDelta as any).phi -= angle; - } - - getPolarAngle (): number { - return (this.spherical as any).phi; - } - - getAzimuthalAngle (): number { - return (this.spherical as any).theta; - } - - dispose (): void { - this.domElement.removeEventListener( 'contextmenu', this.onContextMenu, false ); - this.domElement.removeEventListener( 'mousedown', this.onMouseDown, false ); - this.domElement.removeEventListener( 'wheel', this.onMouseWheel, false ); - - this.domElement.removeEventListener( 'touchstart', this.onTouchStart, false ); - this.domElement.removeEventListener( 'touchend', this.onTouchEnd, false ); - this.domElement.removeEventListener( 'touchmove', this.onTouchMove, false ); - - document.removeEventListener( 'mousemove', this.onMouseMove, false ); - document.removeEventListener( 'mouseup', this.onMouseUp, false ); - - this.window.removeEventListener( 'keydown', this.onKeyDown, false ); - //this.dispatchEvent( { type: 'dispose' } ); // should this be added here? - } - - reset (): void { - this.target.copy( this.target0 ); - this.object.position.copy( this.position0 ); - (this.object as any).zoom = this.zoom0; - - (this.object as any).updateProjectionMatrix(); - this.dispatchEvent( CHANGE_EVENT ); - - this.update(); - - this.state = STATE.NONE; - } - - saveState(): void { - this.target0.copy(this.target); - this.position0.copy(this.object.position); - // Check whether the camera has zoom property - if (this._checkOrthographicCamera(this.object) || this._checkPerspectiveCamera(this.object)){ - this.zoom0 = this.object.zoom; - } - } - - // backward compatibility - get center(): Vector3 { - console.warn('OrbitControls: .center has been renamed to .target'); - return this.target; - } - get noZoom(): boolean { - console.warn( 'OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); - return ! this.enableZoom; - } - - set noZoom( value: boolean ) { - console.warn( 'OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); - this.enableZoom = ! value; - } - - /** - * TS typeguard. Checks whether the provided camera is PerspectiveCamera. - * If the check passes (returns true) the passed camera will have the type PerspectiveCamera in the if branch where the check was performed. - * @param camera Object to be checked. - */ - private _checkPerspectiveCamera(camera: Camera): camera is PerspectiveCamera{ - return (camera as PerspectiveCamera).isPerspectiveCamera; - } - /** - * TS typeguard. Checks whether the provided camera is OrthographicCamera. - * If the check passes (returns true) the passed camera will have the type OrthographicCamera in the if branch where the check was performed. - * @param camera Object to be checked. - */ - private _checkOrthographicCamera(camera: Camera): camera is OrthographicCamera{ - return (camera as OrthographicCamera).isOrthographicCamera; - } -} - -interface ThreeEvent extends Event { - clientX: number; - clientY: number; - deltaY: number; - button: MOUSE; - touches: Array; - keyCode: number; -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Services/planet-editor-scene.ts b/components/Gameplay/Generator/Services/planet-editor-scene.ts deleted file mode 100644 index eebc7a0e..00000000 --- a/components/Gameplay/Generator/Services/planet-editor-scene.ts +++ /dev/null @@ -1,69 +0,0 @@ -import * as THREE from 'three'; -import { OrbitControls } from './orbit-controls'; -import SceneManager from './base-scene-manager'; -import { Planet } from '../Models/planet'; - -export default class PlanetEditorSceneManager implements SceneManager { - - public planet: Planet; - public scene: THREE.Scene; - public camera: THREE.Camera; - public controls: OrbitControls; - - private _renderer: THREE.WebGLRenderer; - private _handleAnimationFrame: (deltaT: number) => void; - private _prevT: number = 0; - - constructor() { - this.scene = new THREE.Scene(); - this.scene.background = new THREE.Color('#000000'); - - this.planet = new Planet(); - this.scene.add(this.planet); - - const ambientLight = new THREE.AmbientLight('#ffffff', 0.15) - this.scene.add(ambientLight); - - const directionalLight = new THREE.DirectionalLight('#efe8e9', 0.8) - directionalLight.position.set(-1000, 0, 1000) - directionalLight.target = this.planet; - this.scene.add(directionalLight); - - this._handleAnimationFrame = (t) => { - const dT = (t - this._prevT) / 1000; - this._prevT = t; - this.planet.update(dT); - this.controls.update(); - - this._renderer.render(this.scene, this.camera); - }; - } - - public init(canvas: HTMLCanvasElement) { - canvas.height = 1080; - canvas.width = canvas.height;// * (16 / 9); - - this._renderer = new THREE.WebGLRenderer({ - preserveDrawingBuffer: true, - canvas, - antialias: true - }); - this._renderer.setPixelRatio(window.devicePixelRatio); - - this.camera = new THREE.PerspectiveCamera(60, canvas.width / canvas.height, 0.1, 1000); - - this.controls = new OrbitControls(this.camera, this._renderer.domElement); - - this.camera.position.set(0, 0, 5); - this.camera.lookAt(0, 0, 0); - this.controls.update(); - } - - public start() { - this._renderer.setAnimationLoop(this._handleAnimationFrame.bind(this)); - } - - public stop() { - this._renderer.setAnimationLoop(null); - } -} \ No newline at end of file diff --git a/components/Gameplay/Generator/Subpage.tsx b/components/Gameplay/Generator/Subpage.tsx deleted file mode 100644 index e641f957..00000000 --- a/components/Gameplay/Generator/Subpage.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import Link from "next/link"; -import Row from "react-bootstrap/Row"; -import Col from "react-bootstrap/Col"; -import Layout from "./Layout"; - -export default function SubPage ( { header, children }: { header: string, children: any } ) { - return ( - - - {header} - - {children} - - ); -}; \ No newline at end of file diff --git a/components/Gameplay/Planets/Cover.tsx b/components/Gameplay/Planets/Cover.tsx deleted file mode 100644 index 2460a8f9..00000000 --- a/components/Gameplay/Planets/Cover.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { useSupabaseClient, useSession } from "@supabase/auth-helpers-react"; - -import { useState } from "react"; - -import { ClimbingBoxLoader } from "react-spinners"; - -export default function PlanetCoverImage ( { url, editable, onChange } ) { - const supabase = useSupabaseClient(); - const session = useSession(); // Users who "own" a dataset will be able to edit the datapoint. However, persistent & permanent history will be retained. Datasets CAN be forked separately/with articles/refs - - const [isUploading, setIsUploading] = useState(false); - - async function updateCover (e) { - const file = e.target.files?.[0]; - if (file) { - setIsUploading(true); - const fileName = session?.user?.id + '_Planet_cover_' + Date.now(); // Include the planet name (from pages/planets/planet.tsx) - const { data, error } = await supabase.storage - .from('covers') // Should be changed to a planets/dataset>point buckets - .upload(fileName, file) - - if (error) throw error; - if (data) { - const url = process.env.NEXT_PUBLIC_SUPABASE_URL + '/storage/v1/object/public/covers/' + data.path; - supabase.from('planetsss') - .update({ cover: url, }) - .eq('id', session?.user?.id) // Should be set to the equivalent of `planet?.id` - .then(({ data, error }) => { - if (error) throw error; - if (data && onChange) { onChange(); }; - }); - setIsUploading(false); - } - } - } - - return ( - - - {/*{isUploading && ( // Until the upload function goes to the correct bucket and refs the correct object, this should not be visible/interactable - - )} - {editable && ( - - - Change cover image - - )}*/} - - ); -} \ No newline at end of file diff --git a/components/Gameplay/Planets/PlanetAvatar.tsx b/components/Gameplay/Planets/PlanetAvatar.tsx deleted file mode 100644 index df1ea562..00000000 --- a/components/Gameplay/Planets/PlanetAvatar.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import React, { useState, useEffect } from "react"; -import axios from "axios"; - -import { Database } from "../../../utils/database.types"; -import { useSupabaseClient } from "@supabase/auth-helpers-react"; - -type Planets = Database['public']['Tables']['planets']['Row']; - -export default function PlanetAvatar ({ uid, url, size, /*onUpload*/ }: { - uid: string, - url: Planets['avatar_url'], - size: number, -}) { - let width = 'w-12'; - const [uploading, setUploading] = useState(false); // Uploading/updating avatar should only be supported if user owns the object/entity. Either the avatar or cover should be an image/source of the entity - - const supabase = useSupabaseClient(); - const [avatarUrl, setAvatarUrl] = useState(null); // I believe this is causing the invalid uuid syntax error - - useEffect(() => { - if (url) downloadImage(url); - }, [url]); - - async function downloadImage (path: string) { - try { - const { data, error } = await supabase.storage.from('avatars').download(path); - if (error) { throw error; }; - const url = URL.createObjectURL(data); - setAvatarUrl(url); - } catch (error) { - console.log('Error downloading avatar for planet anomaly: ', error); - }; - }; - - const uploadAvatar: React.ChangeEventHandler = async (event) => { // Keep this function disabled until we've set up a differentiation between the upload behaviour (and backend structure) of profile avatars & planet/datapoint avatars - try { - setUploading(true); - if (!event.target.files || event.target.files.length === 0) { // If there is no file selected - throw new Error('You must select an image to upload'); - }; - - const file = event.target.files[0]; - const fileExt = file.name.split('.').pop(); - const fileName = `${uid}.${fileExt}`; - const filePath = `${fileName}`; - let { error: uploadError } = await supabase.storage - .from('avatars') - .upload(filePath, file, { upsert: true }) - if (uploadError) { - throw uploadError; - }; - - //onUpload(filePath); - } catch (error) { - alert('Error uploading avatar, check console'); - console.log(error); - } finally { - setUploading(false); - } - } - - return ( - - {avatarUrl ? ( - <> - {/**/}> - ) : ( - - )} - {/* - - - {uploading ? 'Uploading ...': 'Upload'} - - - - */} - - ); -} \ No newline at end of file diff --git a/components/Gameplay/Planets/PlanetCard.tsx b/components/Gameplay/Planets/PlanetCard.tsx deleted file mode 100644 index cbe2202a..00000000 --- a/components/Gameplay/Planets/PlanetCard.tsx +++ /dev/null @@ -1,208 +0,0 @@ -import React, { useEffect, useState } from "react"; -import Card from "../../Card"; -import Link from "next/link"; - -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; -import PlanetEditor, { PlanetEditorFromData } from "../../../pages/generator/planet-editor"; -import StakePlay from "../../../pages/stake/play"; -import UtterancesComments from "../../Lens/Utterances"; -import { useContract, useContractRead, useContractWrite, useLazyMint } from "@thirdweb-dev/react"; -import { planetsImagesCdnAddress } from "../../../constants/cdn"; -import { v4 as uuidv4 } from 'uuid'; -import { Col, Container, Row, Form } from "react-bootstrap"; - -export function PlanetCard ({ activeTab, planetId }) { - const supabase = useSupabaseClient(); - const [planet, setPlanet] = useState(null); - const session = useSession(); - const [planetUri, setPlanetUri] = useState(); - const [planetOwner, setPlanetOwner] = useState(null); - const [username, setUsername] = useState(''); - const [images, setImages] = useState([]); - const [playerReputation, setPlayerRepuation] = useState(); - function fetchPlanet () { - supabase.from('planetsss') - .select("*") - .eq('id', planetId) // How should the ID be generated -> similar to how `userId` is generated? Combination of user + org + article + dataset number?? - .then(result => { - if (result.error) { throw result.error; }; - if (result.data) { setPlanet(result?.data[0]); /*console.log(planet);*/ setPlanetOwner(planet?.ownerId); }; - } - ); - } - const { contract } = useContract(planet?.contract); - /*const { mutateAsync: lazyMint, isLoading } = useContractWrite(contract, "lazymint"); - const lazyMintAnomaly = async () => { - try { - const data = await lazyMint([ _amount, _baseURIForTokens, _data ]); - console.info('contract call success: ', data); - } catch (err) { - console.error('contract call failure: ', err); - } - }*/ - - const { - mutate: lazyMint, - isLoading, - error, - } = useLazyMint(contract); - - function showNftMetadataUri (planet) { - const { contract } = useContract(`{planet?.contract}`); - const { data, isLoading } = useContractRead( contract, "uri", `{planet?.tokenId}`) - if ( data ) { - setPlanetUri( data ); - } - } - - const updatePlayerReputation = async () => { - let newReputation = playerReputation + 1; - setPlayerRepuation(newReputation); - - try { - const { data, error } = await supabase - .from('profiles') - .update([ - { reputation: newReputation, } - ]) - .eq('id', session?.user?.id); - - if (error) throw error; - } catch (error: any) { - console.log(error); - } - } - - const claimPlanet = async () => { - try { - const { data, error } = await supabase - .from('planetsss') - .update([ - { owner: session?.user?.id, /*userId: username*/ } - ]) - .eq('id', planetId); - updatePlayerReputation(); // Do this for posts, journals as well - - if (error) throw error; - } catch (error: any) { - console.log(error); - } - } - - async function getPlanetImages () { - const { data, error } = await supabase - .storage - .from('planets') - .list(planet?.id + '/', { - limit: 100, - offset: 0, - sortBy: { - column: 'name', - order: 'asc', - } - }); - - if (data !== null) { - setImages(data); - } else { - alert('Error loading images'); - console.log(error); - } - } - - async function uploadImageForPlanet (e) { - let file = e.target.files[0]; - const { data, error } = await supabase - .storage - .from('planets') - .upload(session?.user?.id + '/' + uuidv4(), file); // Also add to media/planet post media bucket - - if (data) { - getPlanetImages(); - } else { - console.log(error); - } - } - - // Get the planet's assets/images - useEffect(() => { - if (planet) { - fetchPlanet(); - console.log(planet); - getPlanetImages(); - console.log(planet?.id); - console.log(planetsImagesCdnAddress + planet?.id + '/' + 'download.png'); - } - }, [planet?.id]); - - return ( - - {activeTab === 'planet' && ( - {/* - - {/* {/* https://codesandbox.io/s/nextjs-example-react-jupyter-notebook-viewer-lzjcb5?file=/pages/index.js:21-33 - - - {/* - {images.map((image) => { - return ( - - - - - ); - })} - - */} - )} - {activeTab === 'data' && ( - - {/* https://codesandbox.io/s/nextjs-example-react-jupyter-notebook-viewer-lzjcb5?file=/pages/index.js:21-33 */} - {planet?.owner} Owner - {planet?.owner == session?.user?.id /*&& planet?.userId == username*/ && ( - <> - lazyMint({ metadatas: [{ name: planet?.content, media: planet?.cover, description: planet?.ticId, properties: { trait_type1: 'value' }}]})}>Mint NFT of planet - {/* https://codesandbox.io/s/nextjs-example-react-jupyter-notebook-viewer-lzjcb5?file=/pages/index.js:21-33 */} {/* Set this to pull in different blocks, with different inputs (from Deepnote/flask API) depending on `{planet?.ticId}` */} - > - )} - {planet?.owner == session?.user?.id /*&& planet?.userId == username*/ && ( - <> - Move this underneath Datasets tab in PlanetCard.tsx - lazyMint({ metadatas: [{ name: planet?.content, media: planet?.cover, description: planet?.ticId, properties: { trait_type1: 'value' }}]})}>Mint NFT of planet - {!planet?.ticId && ( - This planet doesn't have a TIC ID - // Update planet tic textarea & button - )} - > - )}Planet ID: {planet?.id} - Temperatue: {planet?.temperature} Kelvin - Created at: {planet?.created_at} - Contract: {planet?.contract} - - Claim Planet - - Contract info: {planet?.contract} ↝ {planet?.tokenId} on {planet?.chainId} - - Owner of this anomaly: {planet?.owner} - - - )} - {activeTab === 'refs' && ( - - - npm i daisyui - - - )} - {activeTab === 'sandbox' && ( - - - - {/**/} - - )} - - ); -}; \ No newline at end of file diff --git a/components/Gameplay/Planets/PlanetGalleryCard.tsx b/components/Gameplay/Planets/PlanetGalleryCard.tsx deleted file mode 100644 index 2e6131b1..00000000 --- a/components/Gameplay/Planets/PlanetGalleryCard.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import Card from "../../Card"; - -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; -import PlanetEditor from "../../../pages/generator/planet-editor"; -import { UserContext } from "../../../context/UserContext"; -import { Database } from "../../../utils/database.types"; -import Link from "next/link"; - -type Planets = Database['public']['Tables']['planets']['Row']; -interface Props { planet: any }; - -export default function PlanetGalleryCard ( { id, content, radius, userId, ticId, cover } ) { - // const { planet } = props; - - function buyPlanet () { - // pass - } - - return ( - <> - - - - - {content} {/* Planet name */} - {/*Radius: {radius}*/} - TIC: {ticId} - - Explore {/* Land on planet */} - - - - {/* - - - - Name: {content} - Radius: {radius} - TIC: {ticId} - ID: {id} - - - - - - - Buy planet - View profile - - */} - > - ) -} \ No newline at end of file diff --git a/components/Gameplay/Planets/PlanetNavigation.tsx b/components/Gameplay/Planets/PlanetNavigation.tsx deleted file mode 100644 index 38fb6323..00000000 --- a/components/Gameplay/Planets/PlanetNavigation.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import Link from "next/link"; - -export default function PlanetTabs ({ planetId, activeTab }) { - const tabClasses = 'flex gap-1 px-4 py-1 items-center border-b-4 border-b-white'; - const activeTabClasses = 'flex gap-1 px-4 py-1 items-center border-socialBlue border-b-4 text-socialBlue font-bold'; - - return ( - - - - - - Bio - - {/* - - - - Datasets - - {/* Posts that mention/use the planetId */}{/* - - - - - Article Refs - - - - - - Sandbox - */} - - ) -} \ No newline at end of file diff --git a/components/Gameplay/Spaceships/SpaceshipAvatar.tsx b/components/Gameplay/Spaceships/SpaceshipAvatar.tsx deleted file mode 100644 index 3e81aefb..00000000 --- a/components/Gameplay/Spaceships/SpaceshipAvatar.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import React, { useState, useEffect } from "react"; - -import { useSupabaseClient } from "@supabase/auth-helpers-react"; - -export default function SpaceshipAvatar ({ uid, url, size }: { - uid: string, - url: string, - size: number, -}) { - let width = 'w-12'; - const [uploading, setUploading] = useState(false); - - const supabase = useSupabaseClient(); - const [avatarUrl, setAvatarUrl] = useState(null); - - useEffect(() => { - if (url) downloadImage(url); - }, [url]); - - async function downloadImage ( path: string ) { - try { - const { data, error } = await supabase.storage.from('avatars').download(path); - if (error) { throw error; }; - setAvatarUrl(url); - } catch (error) { - console.log('Error downloading avatar for spaceship: ', error); - }; - }; - - return ( - - {avatarUrl ? ( - - ) : ( - - )} - {/* - - - {uploading ? 'Uploading ...': 'Upload'} - - - - */} - - ); -} \ No newline at end of file diff --git a/components/Gameplay/Spaceships/SpaceshipCover.tsx b/components/Gameplay/Spaceships/SpaceshipCover.tsx deleted file mode 100644 index aeb479ce..00000000 --- a/components/Gameplay/Spaceships/SpaceshipCover.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React, { useState } from "react"; - -import { useSupabaseClient, useSession } from "@supabase/auth-helpers-react"; - -export default function SpaceshipCoverImage ( { url, editable, onChange } ) { - const supabase = useSupabaseClient(); - const session = useSession(); - - const [isUploading, setIsUploading] = useState(false); - - // async function updateCover ( e ) { - - return ( - - - {/*{isUploading && ( // Until the upload function goes to the correct bucket and refs the correct object, this should not be visible/interactable - - )} - {editable && ( - - - Change cover image - - )}*/} - - ); -} \ No newline at end of file diff --git a/components/Gameplay/Spaceships/SpaceshipTabs.tsx b/components/Gameplay/Spaceships/SpaceshipTabs.tsx deleted file mode 100644 index e9c0ab11..00000000 --- a/components/Gameplay/Spaceships/SpaceshipTabs.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import Link from "next/link"; - -export default function SpaceshipTabs ({ spaceshipId, activeTab }) { - const tabClasses = 'flex gap-1 px-4 py-1 items-center border-b-4 border-b-white'; - const activeTabClasses = 'flex gap-1 px-4 py-1 items-center border-socialBlue border-b-4 text-socialBlue font-bold'; - - return ( - - - - - - Stats - - - - - - Location history - - {/* Posts that mention/use the planetId */} - - - - - Actions - - - - - - Cargo - - - ) -} \ No newline at end of file diff --git a/components/Gameplay/Stake/ApproxRewards.tsx b/components/Gameplay/Stake/ApproxRewards.tsx deleted file mode 100644 index 29367a70..00000000 --- a/components/Gameplay/Stake/ApproxRewards.tsx +++ /dev/null @@ -1,49 +0,0 @@ -export default function ApproxRewards () { - return ( - "This currently doesn't do anything due to compilation errors" - ) -} - -/*import React, { useState, useEffect } from "react"; - -import { useAddress } from "@thirdweb-dev/react"; -import { SmartContract } from "@thirdweb-dev/sdk"; -import { ethers } from "ethers"; -import ContractMappingResponse from "../../../constants/contractMappingResponse"; - -type Props = { helperContract: SmartContract; }; - -export default function ApproxRewards ({ helperContract }: Props ) { // Calls contract to estimate the rewards owed to the authenticated player/user - const address = useAddress(); - const addressString = address - const everyMillisecondAmount = parseInt( - (10_000_000_000_000 / 2.1).toFixed(0) // Assumes each block (on EVM) takes ~2.1 seconds to be mined. Begins when component isMounted - ); - - const [amount, setAmount] = useState(0); - const [multiplier, setMultiplier] = useState(0); - - useEffect(() => { - (async () => { - if (!address) return; - const p = ( await helperContract.call( 'playerHelper', address, )) as ContractMappingResponse; - if (p.isData) { // If a multitool owned by the player IS staked/equipped - setMultiplier(p.value.toNumber() + 1); // A better multitool (derived as tokenId of multitool contract) gives better rewards - } else { setMultiplier(0); }; - })(); - }, [address, helperContract]); - - useEffect(() => { // Update the amount in state based on everyMillisecondAmount - const interval = setInterval(() => { setAmount( amount + everyMillisecondAmount ); }, 100); // update token amount (earned from staking) - return () => clearInterval(interval); // Clear when the component unmounts - }, [amount, everyMillisecondAmount]); - - return ( - - Earned this session: {" "} - - {ethers.utils.formatEther((amount * multiplier).toFixed(0)) || "Error..."} - - - ); -}*/ \ No newline at end of file diff --git a/components/Gameplay/Stake/CurrentGear.tsx b/components/Gameplay/Stake/CurrentGear.tsx deleted file mode 100644 index 1da75f6f..00000000 --- a/components/Gameplay/Stake/CurrentGear.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import React, { useState, useEffect } from "react"; -import styles from '../../../styles/Staking-P2E/planetInteraction.module.css'; - -import { ThirdwebNftMedia, useAddress, useNFT } from "@thirdweb-dev/react"; // https://www.notion.so/skinetics/February-Flow-Planets-8c864b66147c447f82136772336e9bc6?pvs=4#3f8fd072ce514882a1a05e89a6cf63db -import { EditionDrop, NFT, SmartContract } from "@thirdweb-dev/sdk"; -import ContractMappingResponse from "../../../constants/contractMappingResponse"; -import GameplayAnimation from "./GameplayAnimation"; -import { PLANETS_ADDRESS } from "../../../constants/contractAddresses"; - -type Props = { - helperContract: SmartContract; - planetContract: EditionDrop; - multitoolContract: EditionDrop; -}; - -export default function CurrentGear ({ // Shows the currently equipped planet character & currently equipped multitool - helperContract, - planetContract, - multitoolContract, -}: Props) { - const address = useAddress(); - const { data: planetNft } = useNFT(planetContract, 0); // Maps the data to the first planet nft (as for this version of the demo, we're only interacting with WASP-48b aka token id 1) - const [multitool, setMultitool] = useState(); // If user has any multitools staked onto the helper contract. Previously () - /*useEffect(() => { - (async () => { - if (!address) return; - const p = ( await helperContract.call( // Connect to the helper contract - 'playerHelper', // Referred on contract as `playerHelper`, in terms of the frontend/ux it's essentially the `playerMultitool` from `multitoolContract` - address, - )) as ContractMappingResponse; - if (p.isData) { // If there is an equipped (staked) multitool, fetch its metadata - const multitoolMetadata = await multitoolContract.get(p.value); - setMultitool(multitoolMetadata); - } - })(); - }, [address, helperContract, multitoolContract]); // Refresh this function if any of these values change. This component is reusable across multiple contracts (the contract addresses are defined in the page, not the component)*/ - - return ( - - Equipped items - - {/* Currently equipped player */} - {planetNft && ( - - )} - - {/* Currently equipped multitool */} - {multitool && ( - // @ts-ignore - - )} - - - - - - - - ); -}; \ No newline at end of file diff --git a/components/Gameplay/Stake/GameplayAnimation.tsx b/components/Gameplay/Stake/GameplayAnimation.tsx deleted file mode 100644 index c0d88f74..00000000 --- a/components/Gameplay/Stake/GameplayAnimation.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from "react"; -import styles from '../../../styles/Staking-P2E/Gameplay.module.css'; -import { NFT } from "@thirdweb-dev/sdk"; - -//const Minerals = ( ) // This should be changed to the collection picture (via Thirdweb) -const Minerals = ( ) -type Props = { multitool: NFT | undefined; }; - -export default function GameplayAnimation ({ multitool }: Props ) { - if (!multitool) { return I need a multitool!; }; - return ( - - - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - {Minerals} - - - ); -}; \ No newline at end of file diff --git a/components/Gameplay/Stake/LoadingSection.tsx b/components/Gameplay/Stake/LoadingSection.tsx deleted file mode 100644 index c6253825..00000000 --- a/components/Gameplay/Stake/LoadingSection.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import React from "react"; -import styles from '../../../styles/Staking-P2E/planetInteraction.module.css'; - -export default function LoadingSection () { return Loading...; }; \ No newline at end of file diff --git a/components/Gameplay/Stake/MintContainer.tsx b/components/Gameplay/Stake/MintContainer.tsx deleted file mode 100644 index d3a34395..00000000 --- a/components/Gameplay/Stake/MintContainer.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from "react"; -import styles from '../../../styles/Staking-P2E/Home.module.css'; - -import { useAddress, useClaimNFT, useEditionDrop, Web3Button } from "@thirdweb-dev/react"; -import { PLANETS_ADDRESS } from "../../../constants/contractAddresses"; - -export default function MintContainer () { - const editionDrop = useEditionDrop(PLANETS_ADDRESS); - const { mutate: claim } = useClaimNFT(editionDrop); - const address = useAddress(); - - return ( - - Edition drop - Claim your planet NFT to start playing - - - - { - claim({ - quantity: 1, - to: address!, - tokenId: 0, // Claim the first nft/planet in the collection. This mutate function will be updated, with the specific value being generated from our Flask API - }); - }} - accentColor="#f5f" - colorMode='dark' - >Claim the first planet! - - ); -} \ No newline at end of file diff --git a/components/Gameplay/Stake/OwnedGear.tsx b/components/Gameplay/Stake/OwnedGear.tsx deleted file mode 100644 index f8197036..00000000 --- a/components/Gameplay/Stake/OwnedGear.tsx +++ /dev/null @@ -1,66 +0,0 @@ -export default function OwnedGear () { - return "This export is a stub for the original ownedGear component" -} - -/*import React from "react"; -import styles from '../../../styles/Staking-P2E/planetInteraction.module.css'; - -import { ThirdwebNftMedia, useAddress, useOwnedNFTs, Web3Button } from "@thirdweb-dev/react"; -import { EditionDrop, SmartContract } from "@thirdweb-dev/sdk"; - -import LoadingSection from "./LoadingSection"; -import { HELPER_ADDRESS } from "../../../constants/contractAddresses"; - -type Props = { multitoolContract: EditionDrop, helperContract: SmartContract; }; - -export default function OwnedGear ({ multitoolContract, helperContract }: Props) { // Shows the multitools in a user's wallet and allows them to stake/equip said multitools - const address = useAddress(); - const { data: ownedMultitools, isLoading } = useOwnedNFTs( // Which nfts does the user hold from the multitools contract - multitoolContract, - address, - ); - - if (isLoading) { - return - } - - async function equip(id: string) { - if (!address) return; - const hasApproval = await multitoolContract.isApproved( // Is the contract approved by the account to be able to transfer the multitool? - address, - HELPER_ADDRESS - ); - - if (!hasApproval) { - await multitoolContract.setApprovalForAll(HELPER_ADDRESS, true); - }; - - await helperContract.call("stake", id); - - window.location.reload(); - } - - return ( - <> - - {ownedMultitools?.map((p) => ( - - - {p.metadata.name} - - equip(p.metadata.id)} - > - Equip - - - ))} - - > -); -}*/ \ No newline at end of file diff --git a/components/Gameplay/Stake/Rewards.tsx b/components/Gameplay/Stake/Rewards.tsx deleted file mode 100644 index 14222d01..00000000 --- a/components/Gameplay/Stake/Rewards.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from "react"; -import styles from '../../../styles/Staking-P2E/planetInteraction.module.css'; - -import { ThirdwebNftMedia, useAddress, useMetadata, useContractRead, useTokenBalance, Web3Button } from "@thirdweb-dev/react"; -import { SmartContract, Token } from "@thirdweb-dev/sdk"; -import { ethers } from "ethers"; -import { HELPER_ADDRESS } from "../../../constants/contractAddresses"; // Create a param/argument so that the helper contract can be changed per page like the rewards/planet (aka character) contracts - -import ApproxRewards from "./ApproxRewards"; - -type Props = { helperContract: SmartContract; rewardsContract: Token; }; - -export default function Rewards({ helperContract, rewardsContract }: Props ) { // Shows the token metadata, amount of tokens in wlalet, claimable amount (reward) - const address = useAddress(); - const { data: tokenMetadata } = useMetadata(rewardsContract); - const { data: currentBalance } = useTokenBalance(rewardsContract, address); - const { data: unclaimedAmount } = useContractRead( - helperContract, - 'calculateRewards', - address - ); - - return ( - - Your Minerals - {tokenMetadata && ( // If exists/loaded - - )} - - Balance: {currentBalance?.displayValue} - - - Unclaimed: {" "} - {unclaimedAmount && ethers.utils.formatUnits(unclaimedAmount)} - - Approx rewards would go here - {/**/} - - contract.call('claim')} - >Claim Rewards - - - ); -} \ No newline at end of file diff --git a/components/Gameplay/Stake/Shop.tsx b/components/Gameplay/Stake/Shop.tsx deleted file mode 100644 index d41f7d26..00000000 --- a/components/Gameplay/Stake/Shop.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React, { useEffect } from "react"; -import styles from '../../../styles/Staking-P2E/planetInteraction.module.css'; - -import { ThirdwebNftMedia, useNFTs } from "@thirdweb-dev/react"; -import { EditionDrop } from "@thirdweb-dev/sdk"; - -import { ShopItem } from "."; - -type Props = { multitoolContract: EditionDrop; }; - -export default function Shop ({ multitoolContract }: Props ) { // Shows all available multitools, their price, and a button to purchase them - const { data: availableMultitools } = useNFTs(multitoolContract); - return ( - <> - - {availableMultitools?.map((p) => ( - - ))} - - > - ) -} \ No newline at end of file diff --git a/components/Gameplay/Stake/ShopItem.tsx b/components/Gameplay/Stake/ShopItem.tsx deleted file mode 100644 index ce7b8b7b..00000000 --- a/components/Gameplay/Stake/ShopItem.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from "react"; -import styles from '../../../styles/Staking-P2E/planetInteraction.module.css'; - -import { ThirdwebNftMedia, useActiveClaimCondition, Web3Button } from "@thirdweb-dev/react"; -import { ethers } from "ethers"; -import { NFT, EditionDrop } from "@thirdweb-dev/sdk"; - -import { MULTITOOLS_ADDRESS } from "../../../constants/contractAddresses"; - -type Props = { multitoolContract: EditionDrop; item: NFT; }; - -export default function ShopItem ({ item, multitoolContract }: Props ) { - const { data: claimCondition } = useActiveClaimCondition( - multitoolContract, - item.metadata.id, - ); - - return ( - - - {item.metadata.name} - - Price:{" "} - - {claimCondition && ethers.utils.formatUnits(claimCondition?.price)}{" "} - Minerals - - - - - contract.erc1155.claim(item.metadata.id, 1)} - onSuccess={() => alert("Purchased!")} - onError={(error) => alert(error)} - >Buy - - - ); -}; \ No newline at end of file diff --git a/components/Gameplay/Stake/index.ts b/components/Gameplay/Stake/index.ts deleted file mode 100644 index 82d7c311..00000000 --- a/components/Gameplay/Stake/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { default as ApproxRewards } from './ApproxRewards'; -export { default as CurrentGear } from './CurrentGear'; -export { default as GameplayAnimation } from './GameplayAnimation'; -export { default as LoadingSection } from './LoadingSection'; -export { default as OwnedGear } from './OwnedGear'; -export { default as Rewards } from './Rewards'; -export { default as Shop } from './Shop'; -export { default as ShopItem } from './ShopItem'; \ No newline at end of file diff --git a/components/Gameplay/Vehicles/ShipyardCard.tsx b/components/Gameplay/Vehicles/ShipyardCard.tsx deleted file mode 100644 index b7649d8e..00000000 --- a/components/Gameplay/Vehicles/ShipyardCard.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import React, { useEffect, useState } from "react"; -import { NextPage } from "next"; -import Link from "next/link"; - -import Card from "../../Card"; - -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; -import { Database } from "../../../utils/database.types"; - -type Spaceships = Database['public']['Tables']['spaceships']['Row']; -interface Props { ship: any }; - -export default function ShipyardCard ( { id, image, name, shipId, hp, attack, speed, location, owner } ) { - const supabase = useSupabaseClient(); - const session = useSession(); - - return ( - <> - - - - Name: {name} - Defence: {hp} - Attack: {attack} - Speed: {speed} - Location: {location} - - - - - - - Buy ship {/* If there is an owner, don't show this button */} - View profile - - - {/* - - This page will display all the ships - - - - - Spaceship Name - - - - - - */} - > - ); -}; - -export const ShipyardCardProps: NextPage = ( props ) => { - const { ship } = props; - - return ( - <> - - - - Name: {ship.name} - Defence: {ship.hp} - Attack: {ship.attack} - Speed: {ship.speed} - Location: {ship.location} - - - - - - - Buy ship {/* If there is an owner, don't show this button */} - - - {/* - - This page will display all the ships - - - - - Spaceship Name - - - - - - */} - > - ) -} \ No newline at end of file diff --git a/components/Governance/Connections/AuthenticateAccount.tsx b/components/Governance/Connections/AuthenticateAccount.tsx deleted file mode 100644 index cd11f63b..00000000 --- a/components/Governance/Connections/AuthenticateAccount.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import { useState, useEffect } from "react"; -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; -import { useAddress } from "@thirdweb-dev/react"; -import { Database } from "../../../utils/database.types"; - -type Profiles = Database['public']['Tables']['profiles']['Row']; - -export default function AuthenticateWalletToDb () { - const session = useSession(); - const supabase = useSupabaseClient(); - const address = useAddress(); - - const [loading, setLoading] = useState(false); - const [userAddress, setUserAddress] = useState(); - const [username, setUsername] = useState(''); - const [updated_at, setUpdate_at] = useState(); - - async function getProfile () { - try { - setLoading(true); - if (!session) throw new Error('No user authenticated'); - let { data, error, status } = await supabase - .from('profiles') - .select(`username, website, avatar_url, address`) - .eq('id', session?.user?.id) - .single() - - if (error && status !== 406) { - throw error; - } - - if (data) { - setUsername(data.username); - setUserAddress(data.address); - } - } catch (error) { - //alert('Error loading your user data'); - console.log(error); - } finally { - setLoading(false); - } - } - - useEffect(() => { - getProfile(); - }, [session]); - - async function updateProfile({ - userAddress, - } : { - userAddress: Profiles['address'] - }) { - try { - setLoading(true); - if (!session?.user) throw new Error('No user authenticated'); - const updates = { - id: session?.user?.id, - address, - updated_at: new Date().toISOString(), - } - let { error } = await supabase.from('profiles').upsert(updates); - if (error) throw error; - alert('Off-chain PROFILE updated') - } catch (error) { - alert('Error updating your off-chain profile data'); - console.log(error); - } finally { - setLoading(false); - } - } - - if (loading) { - return ( - Loading - ); - } - - if (!userAddress) { - return ( - Please authenticate via Metamask - ) - } - - function updateProfileButton() { - updateProfile(userAddress); - } - - return ( - - Update profile - - ) -} \ No newline at end of file diff --git a/components/Governance/Connections/ConnectWallet.js b/components/Governance/Connections/ConnectWallet.js deleted file mode 100644 index b5d3652c..00000000 --- a/components/Governance/Connections/ConnectWallet.js +++ /dev/null @@ -1,23 +0,0 @@ -import { useState } from "react"; -import { ethers } from 'ethers'; - -export function useMetamaskState() { - const [isConnected, setIsConnected] = useState(false); - const [account, setAccount] = useState(); - const [signer, setSigner] = useState(); - - async function connectToMetamask() { - try { - const provider = new ethers.providers.Web3Provider(window.ethereum); - const acc = await provider.send(`eth_requestAccounts`, []); - const sign = provider.getSigner(acc[0]); - setIsConnected(true); - setAccount(acc[0]); - setSigner(sign); - } catch (err) { - console.log(err); - } - } - - return { isConnected, account, signer, connectToMetamask }; -} \ No newline at end of file diff --git a/components/Governance/Connections/ExecuteProposal.js b/components/Governance/Connections/ExecuteProposal.js deleted file mode 100644 index b7b40bb7..00000000 --- a/components/Governance/Connections/ExecuteProposal.js +++ /dev/null @@ -1,2 +0,0 @@ -import { ethers } from 'ethers'; -import { useState } from 'react'; \ No newline at end of file diff --git a/components/Governance/Connections/GetCurrentValue.js b/components/Governance/Connections/GetCurrentValue.js deleted file mode 100644 index b74414c6..00000000 --- a/components/Governance/Connections/GetCurrentValue.js +++ /dev/null @@ -1,23 +0,0 @@ -import { ethers } from "ethers"; -import { useState } from "react"; - -import contractAddress from '../../../contracts/chain-info/deployments/map.json'; -import contractAbi from '../../../contracts/chain-info/contracts/Box.json'; - -export function useGetValue() { - const [boxValue, setBoxValue] = useState(); - - async function getValue() { - try { - const provider = new ethers.providers.Web3Provider(window.ethereum); - const contract = contractAddress["5"]["Box"][0]; - const abi = contractAbi.abi; - const BoxContract = new ethers.Contract(contract, abi, provider); - const value = await BoxContract.retrieve(); - } catch { - console.log("error"); - } - } - - return { boxValue, getValue }; -}; \ No newline at end of file diff --git a/components/Governance/Connections/GetFunds.js b/components/Governance/Connections/GetFunds.js deleted file mode 100644 index 3130f619..00000000 --- a/components/Governance/Connections/GetFunds.js +++ /dev/null @@ -1,18 +0,0 @@ -import { ethers } from "ethers"; -import { useState } from "react"; -import contractAddress from '../../../contracts/chain-info/deployments/map.json'; -import contractAbi from '../../../contracts/chain-info/contracts/GovernanceToken.json'; - -export function useRequestFunds() { - async function requestFunds(signer) { - try { - const contract = contractAddress["5"]["GovernanceToken"][0]; - const abi = contractAbi.abi; - const governanceTokenContract = new ethers.Contract(contract, abi, signer); - let tx = await governanceTokenContract.claimToken({ gasLimit: 1000000 }); - await tx.wait(1); - } catch (err) { console.log(err); }; - } - - return { requestFunds }; -} \ No newline at end of file diff --git a/components/Governance/Connections/GetProposalCount.js b/components/Governance/Connections/GetProposalCount.js deleted file mode 100644 index d6da8205..00000000 --- a/components/Governance/Connections/GetProposalCount.js +++ /dev/null @@ -1,22 +0,0 @@ -import { ethers } from "ethers"; -import { useState } from "react"; -import contractAddress from '../../../contracts/chain-info/deployments/map.json'; -import contractAbi from '../../../contracts/chain-info/contracts/AnomalyGovernor.json'; - -export function useGetProposals() { - const [proposalCount, setProposalCount] = useState(); - async function getProposalCount() { - try { - const provider = new ethers.providers.Web3Provider(window.ethereum); - const contract = contractAddress["5"]["AnomalyGovernor"][0]; - const abi = contractAbi.abi; - const GovernanceContract = new ethers.Contract(contract, abi, provider); - const value = await GovernanceContract.getNumberOfProposals(); // Call this from AnomalyGenerator.sol contract - setProposalCount(value.toString()); - } catch (err) { - console.log(err); - } - } - - return { proposalCount, getProposalCount }; -} \ No newline at end of file diff --git a/components/Governance/Connections/GetTokenBalance.js b/components/Governance/Connections/GetTokenBalance.js deleted file mode 100644 index 889d4427..00000000 --- a/components/Governance/Connections/GetTokenBalance.js +++ /dev/null @@ -1,18 +0,0 @@ -import { ethers } from "ethers"; -import { useState } from "react"; -import axios from "axios"; - -export function useGetBalance() { - const [userBalance, setUserBalance] = useState(); - - async function getBalance(walletAddress) { - await axios.get(`/get-balance?address=${walletAddress}`).then((res) => { - const balance = res.data[0].balance; - const decimals = 18; - const balanceInMRST = ethers.utils.formatUnits(balance, decimals); - setUserBalance(balanceInMRST); - }).catch(err => console.log(err)); - } - - return { userBalance, getBalance }; -} \ No newline at end of file diff --git a/components/Governance/Connections/GetVotersCount.js b/components/Governance/Connections/GetVotersCount.js deleted file mode 100644 index 56f1f385..00000000 --- a/components/Governance/Connections/GetVotersCount.js +++ /dev/null @@ -1,22 +0,0 @@ -import { ethers } from 'ethers'; -import { useState } from 'react'; -import contractAddress from '../../../contracts/chain-info/deployments/map.json'; -import contractAbi from '../../../contracts/chain-info/contracts/AnomalyGovernor.json'; - -export function useGetTotalVoters() { - const [voters, setVoters] = useState(); - async function getVoters() { - try { - const provider = new ethers.providers.Web3Provider(window.ethereum); - const contract = contractAddress["5"]["GovernanceToken"][0]; - const abi = contractAbi.abi; - const GovernanceToken = new ethers.Contract(contract, abi, provider); - const value = await GovernanceToken.getHolderLength(); - setVoters(value.toString()); - } catch { - console.log("error"); - } - } - - return { voters, getVoters }; -} \ No newline at end of file diff --git a/components/Governance/Connections/NewProposal.js b/components/Governance/Connections/NewProposal.js deleted file mode 100644 index fe64d7f4..00000000 --- a/components/Governance/Connections/NewProposal.js +++ /dev/null @@ -1,49 +0,0 @@ -import { ethers } from 'ethers'; -import { useState, useEffect } from 'react'; -import anomalyGovernorABI from '../../../contracts/chain-info/contracts/AnomalyGovernor.json'; -import contractAddress from '../../../contracts/chain-info/deployments/map.json'; -import boxContractAbi from '../../../contracts/chain-info/contracts/Box.json'; -import { useLocalStorage } from './useLocalStorage'; - -export function useCreateProposal() { - const [proposal, setProposal] = useState(); - const [proposalDescription, setProposalDescription] = useState(); - const [newValue, setValue] = useState(); - const { setLocalStorage, clearLocalStorage, getLocalStorage } = useLocalStorage() - - useEffect(() => { - if (getLocalStorage('id')) { - setProposal(getLocalStorage('id')) - }; - }, []); - - async function createProposal(signer, proposalDescription, value) { - try { - clearLocalStorage() - const boxContract = contractAddress["5"]["Box"][0]; - const anomalyGovernor = contractAddress["5"]["AnomalyGovernor"][0]; - const boxAbi = boxContractAbi.abi; - const anomalyGovernorAbi = anomalyGovernorABI.abi; - const anomalyGovernorContractInstance = new ethers.Contract(anomalyGovernor, anomalyGovernorABI, signer); - const boxInterface = new ethers.utils.Interface(boxAbi); - const encodedFunction = boxInterface.encodeFunctionData('store', [value]); - - const proposeTx = await anomalyGovernorContractInstance.propose([boxContract], [0], [encodedFunction], proposalDescription, { gasLimit: 1000000 }) - const proposeReceipt = await proposeTx.wait(3) - - const proposalId = proposeReceipt.events[0].args.proposalId - - const bnValue = ethers.BigNumber.from(proposalId); - - setProposal(bnValue.toString()); - setValue(value); - setProposalDescription(proposalDescription); - - setLocalStorage('id', proposalId); - console.log('id', proposalId); - } catch (err) { - console.log(err) - } - } - return { createProposal, proposal, newValue, proposalDescription } -} \ No newline at end of file diff --git a/components/Governance/Connections/VoteProposal.js b/components/Governance/Connections/VoteProposal.js deleted file mode 100644 index cf57bf96..00000000 --- a/components/Governance/Connections/VoteProposal.js +++ /dev/null @@ -1,2 +0,0 @@ -import { ethers } from "ethers"; -import { useState } from "react"; \ No newline at end of file diff --git a/components/Governance/Connections/useGetState.js b/components/Governance/Connections/useGetState.js deleted file mode 100644 index cf57bf96..00000000 --- a/components/Governance/Connections/useGetState.js +++ /dev/null @@ -1,2 +0,0 @@ -import { ethers } from "ethers"; -import { useState } from "react"; \ No newline at end of file diff --git a/components/Governance/Connections/useLocalStorage.js b/components/Governance/Connections/useLocalStorage.js deleted file mode 100644 index d67f8661..00000000 --- a/components/Governance/Connections/useLocalStorage.js +++ /dev/null @@ -1,46 +0,0 @@ -import { ethers } from "ethers"; -import { useEffect, useState } from "react"; - -export const useLocalStorage = () => { - - - const [latestId, setLatestId] = useState(); - - useEffect(() => { - if (getLocalStorage('id')) { - getIds() - } - }, []) - - function setLocalStorage(key, value) { - localStorage.setItem(key, value); - getIds() - } - - function getLocalStorage(key) { - return localStorage.getItem(key); - } - - function verifyLocalStorage(key) { - return localStorage.hasOwnProperty(key); - } - - function removeLocalStorage(key) { - localStorage.removeItem(key); - } - - function clearLocalStorage() { - localStorage.clear(); - } - - function getIds() { - const storage = getLocalStorage('id'); - const bnValue = ethers.BigNumber.from(storage); - setLatestId(bnValue.toString()) - } - - - - - return { setLocalStorage, getLocalStorage, verifyLocalStorage, getIds, removeLocalStorage, clearLocalStorage, latestId } -} \ No newline at end of file diff --git a/components/Governance/ExecuteBox.tsx b/components/Governance/ExecuteBox.tsx deleted file mode 100644 index dbe18aa3..00000000 --- a/components/Governance/ExecuteBox.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import CardActions from '@mui/material/CardActions'; -import CardContent from '@mui/material/CardContent'; -import Typography from '@mui/material/Typography'; -import Button from '@mui/material/Button'; - -import { ethers } from 'ethers'; - -// import { useGetState } from '../web3/useGetState'; -// import { useEffect, useState } from 'react'; -// import { useExecuteProposal } from '../web3/ExecuteProposal'; - -export const ExecuteProposal = ({ lastId, signer, value, description }) => { - const handleVotingState = (e) => { - - const status = { - "0": "Pending", - "1": "Active", - "2": "Canceled", - "3": "Defeated", - "4": "Succeeded", - "5": "Queued", - "6": "Expired", - "7": "Executed" - }; - return status[e] ?? "Unknown"; - } - - const shortId = lastId ? lastId.slice(0, 11) + "..." : 0; - - return (<> - - - Current/Latest Voting - - - id - - - The Proposal state is: - - - - - >) -} - -// signer, proposalId, support, reason \ No newline at end of file diff --git a/components/Governance/Footer.tsx b/components/Governance/Footer.tsx deleted file mode 100644 index 8be5eaf0..00000000 --- a/components/Governance/Footer.tsx +++ /dev/null @@ -1,79 +0,0 @@ - -import Container from '@mui/material/Container'; -import Typography from '@mui/material/Typography'; -import Grid from '@mui/material/Grid'; -import Link from '@mui/material/Link'; -function Copyright(props) { - return ( - - {'Copyright - MIT License - '} - - Signal Kinetics - {' '} - {new Date().getFullYear()} - {'.'} - - ); -} - -const footers = [ - { - title: 'Signal Kinetics', - description: ['Team', 'History', 'Contact us', 'Locations'], - }, - { - title: 'Features', - description: [ - 'Cool stuff', - 'Random feature', - 'Team feature', - 'Developer stuff', - 'Another one', - ], - }, - { - title: 'Resources', - description: ['Resource', 'Resource name', 'Another resource', 'Final resource'], - }, - { - title: 'Legal', - description: ['Privacy policy', 'Terms of use'], - }, -]; - -export const Footer = () => { - - return <> - {/* Footer */} - `1px solid ${theme.palette.divider}`, - mt: 8, - py: [3, 6], - }} - > - - {footers.map((footer) => ( - - - {footer.title} - - - {footer.description.map((item) => ( - - - {item} - - - ))} - - - ))} - - - - {/* End footer */} - > -} \ No newline at end of file diff --git a/components/Governance/Header.tsx b/components/Governance/Header.tsx deleted file mode 100644 index 32286249..00000000 --- a/components/Governance/Header.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import * as React from 'react'; -import AppBar from '@mui/material/AppBar'; -import Button from '@mui/material/Button'; -import CssBaseline from '@mui/material/CssBaseline'; -import Toolbar from '@mui/material/Toolbar'; -import Typography from '@mui/material/Typography'; -import Link from '@mui/material/Link'; -import GlobalStyles from '@mui/material/GlobalStyles'; -// import Logo from '../img/moralis-logo.png' - -export const Header = ({ isConnected, account, signer, connectToMetamask }) => { - return ( - - - {/**/} - `1px solid ${theme.palette.divider}` }} - > - - - - - - - Events - - - Dao - - - Blog - - - - {!isConnected ? - Connect Wallet - : Connected} - - - - ) -} \ No newline at end of file diff --git a/components/Governance/Navbar.jsx b/components/Governance/Navbar.jsx deleted file mode 100644 index f48881b5..00000000 --- a/components/Governance/Navbar.jsx +++ /dev/null @@ -1,183 +0,0 @@ - -import CssBaseline from '@mui/material/CssBaseline'; -import GlobalStyles from '@mui/material/GlobalStyles'; -import * as React from 'react'; -import Container from '@mui/material/Container'; -import Typography from '@mui/material/Typography'; -import Button from '@mui/material/Button'; -import { useState, useEffect } from 'react'; -import Stack from '@mui/material/Stack'; -import Divider from '@mui/material/Divider'; - -import TextField from '@mui/material/TextField'; -import Box from '@mui/material/Box'; -import Card from '@mui/material/Card'; -import { VoteProposal } from './VoteBox'; -import { ExecuteProposal } from './ExecuteBox'; - -import { useGetProposals } from './Connections/GetProposalCount'; -import { useGetTotalVoters } from './Connections/GetVotersCount'; -import { useGetBalance } from './Connections/GetTokenBalance'; -import { useGetValue } from './Connections/GetCurrentValue'; -import { useRequestFunds } from './Connections/GetFunds'; -import { useCreateProposal } from './Connections/NewProposal'; - -export const Navbar = ({ signer }) => { - const [activeTab, setActiveTab] = useState(0); - const [shortId, setShortId] = useState(); - const [propDesc, setPropDesc] = useState(); - const [propValue, setPropValue] = useState(); - const { proposalCount, getProposalCount } = useGetProposals(); - const { voters, getVoters } = useGetTotalVoters(); - const { userBalance, getBalance } = useGetBalance(); - const { boxValue, getValue } = useGetValue(); - const { requestFunds } = useRequestFunds(); - const { createProposal, proposal, newValue, proposalDescription } = useCreateProposal(); - - useEffect(() => { getProposalCount() }, []) - useEffect(() => { getVoters() }, []) - useEffect(() => { - if (signer) { - getBalance(signer._address) - } - }, [signer]) - useEffect(() => { getValue() }, []) - useEffect(() => { setShortId(proposal ? proposal.slice(0, 11) + "..." : "0") }, [proposal]) - - return ( - <> - - {/**/} - - - - Shape the future of our decentralized community. Join our DAO and have a say in our collective decision-making process. Participate in discussions, propose new ideas, and cast your vote on important issues. - - - { window.open('https://moralis.io/joindiscord/', '_blank'); }}>Join Discord! - { window.open('https://docs.moralis.io/', '_blank'); }}>Read the Docs - - - - - - - PROPOSALS - - {proposalCount} Total proposals - - PARTICIPATE AND PROPOSE NOW - - - - ELIGIBLE VOTERS - - {voters} Total Voters - - JOIN THE DAO NOW AND BECOME ONE - - - - YOUR VOTING POWER - - {userBalance} - - BASED ON YOUR TOKEN BALANCE - - - - - - - - - - - { - setActiveTab(0); - getValue() - }}>Current Value - { - setActiveTab(1); - - }}>Get Funds - { - setActiveTab(2) - }}>Propose - { - setActiveTab(3) - }}>Vote - { - - setActiveTab(4) - }}>Execute - - - - {activeTab === 0 && ( - - The state of the DAO - The current Value of the Box is: - {boxValue} - - - )} - {activeTab === 1 && ( - - Get Funds to Participate on the DAO - Only the owners of the ERC20 Token can Vote - - { - requestFunds(signer) - }}>Get Funds - - )} - {activeTab === 2 && ( - - Propose a new Execution - The Dao members will vote to decide what happens next - Last proposal: {shortId} - - :not(style)': { m: 1, width: '25ch' }, - }} - noValidate - autoComplete="off" - > - { }} defaultValue={''} name='proposalDescription' /> - { }} defaultValue={''} name='proposalAmount' /> - - - { - }}>Create Proposal - - )} - {activeTab === 3 && ( - - Choose your preference - Vote and engage with the DAO - - - - - )} - {activeTab === 4 && ( - - Queue & Execute - Vote Period has Finished, time to execute! - - - - - )} - - - - - - > - ) -} \ No newline at end of file diff --git a/components/Governance/VoteBox.tsx b/components/Governance/VoteBox.tsx deleted file mode 100644 index e09e2434..00000000 --- a/components/Governance/VoteBox.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import CardActions from '@mui/material/CardActions'; -import CardContent from '@mui/material/CardContent'; -import Typography from '@mui/material/Typography'; -import Button from '@mui/material/Button'; -import TextField from '@mui/material/TextField'; - -// import { useGetState } from '../web3/useGetState'; -// import { useEffect, useState } from 'react'; -// import { useVoteProposal } from '../web3/VoteProposal'; - -export const VoteProposal = ({ }) => { - const handleVotingState = (e) => { - const status = { - "0": "Pending", - "1": "Active", - "2": "Canceled", - "3": "Defeated", - "4": "Succeeded", - "5": "Queued", - "6": "Expired", - "7": "Executed" - }; - return status[e] ?? "Unknown"; - } - - return (<> - - - Current/Latest Voting - - - id - - - The Proposal state is - - - - - >) -} - -// signer, proposalId, support, reason \ No newline at end of file diff --git a/components/Info/faq.tsx b/components/Info/faq.tsx new file mode 100644 index 00000000..6a0117c1 --- /dev/null +++ b/components/Info/faq.tsx @@ -0,0 +1,45 @@ +import Link from "next/link"; + +export default function InfoFAQ () { + + return ( + + + Frequently asked questions + + + + + + Where can I get help or more information? + + We've got a page with some different tutorials on what to look for, and a discord server (click here) to compare results, discuss findings & get help + + + + + + + ChatGPT exists. What benefit can I have on scientific research? + + + {/* Citizen science is still crucial in classifying planetary candidates, even with the advancements in AI technology like ChatGPT. One reason is that citizen scientists provide a diversity of perspectives and ideas that are not always captured by AI algorithms. They can also help identify patterns or anomalies that may be overlooked by machines, or flag false positives that could otherwise lead to inaccurate results. Additionally, involving citizen scientists in scientific research promotes education and engagement in science, technology, engineering, and mathematics (STEM) fields. It allows individuals who may not have formal training in these areas to contribute to scientific discoveries and feel more connected to the scientific community. Ultimately, citizen science can provide a powerful tool for scientists to explore the universe and expand our knowledge of the cosmos. */} + {/* Citizen science remains important in classifying planetary candidates, despite advancements in AI like ChatGPT. Citizen scientists offer diverse perspectives and ideas that machines may not capture. They can identify patterns or anomalies overlooked by machines and flag false positives that could lead to inaccurate results. Citizen science promotes education and engagement in STEM fields and allows individuals without formal training to contribute to scientific discoveries. It is a powerful tool for scientists to explore the universe and expand our knowledge of the cosmos. */} + Citizen science remains important in the classification of planetary candidates, despite the development of AI technology such as ChatGPT. Citizen scientists provide unique perspectives, flag false positives, and engage more people in STEM fields, ultimately expanding our knowledge of the universe. + + + + + + + This is cool, but it's not quite a game... + + + That's right. Since 2021, we've been working on a beautiful game for Star Sailors in Unity3D, however due to regular burnout and a lack of funding, we've decided to release this web client first as a "proof of concept". We're adding new features daily and we're hoping to have a great game in your hands soon. And even before we get to that point, you'll be able to get a head start here, as you'll be able to own planets, generate resources and more - and your progress will be saved and migrated over to the full game upon release. + + + + + + ); +} \ No newline at end of file diff --git a/components/Journal/ArticleCard.tsx b/components/Journal/ArticleCard.tsx deleted file mode 100644 index 51c6954a..00000000 --- a/components/Journal/ArticleCard.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { NextPage } from "next"; -import { useRouter } from "next/router"; -import Card from "../Card"; -import JournalNavbarComponent from "./JournalNavbar"; - -import { useSession } from "@supabase/auth-helpers-react"; -import Link from "next/link"; - -interface Props { article: any }; - -const JournalArticleCard: NextPage = ( props ) => { - const router = useRouter(); - const { article } = props; - - /* function getDate() { - let time = Date.parse(article.inserted_at) - } */ - - function routerPush () { - router.push('/journal/Article?id=' + article.id); - } - - return (<> - - - {article.title} - Posted by {article.user_id.toLowerCase()} - - - {/* - router.push("/journal/Article?id=" + article.id)} - > - - {article.title} - posted {getDate()} - By {article.user_id.toLowerCase()} - - - */}> - ) -} - -export default JournalArticleCard; \ No newline at end of file diff --git a/components/Journal/Box.tsx b/components/Journal/Box.tsx deleted file mode 100644 index dfe0c1a5..00000000 --- a/components/Journal/Box.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { styled } from "@nextui-org/react"; - -export const Box = styled("div", { - boxSizing: "border-box" -}); \ No newline at end of file diff --git a/components/Journal/JournalNavbar.tsx b/components/Journal/JournalNavbar.tsx deleted file mode 100644 index daabfe6b..00000000 --- a/components/Journal/JournalNavbar.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { useRouter } from "next/router"; -import Link from "next/link"; -import { Navbar, Button, Text } from "@nextui-org/react"; - -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; - -const JournalNavbarComponent = () => { - const supabaseClient = useSupabaseClient(); - const session = useSession(); - const router = useRouter(); - - function signOutUser() { - supabaseClient.auth.signOut(); - router.push("/"); // localhost:3000 - } - - return ( - - - ShareArticles - - - Main Feed - Create Article - - - - {!session?.user ? /*User doesnt exist*/ - <> - - - Login - - - > - : /* User does exist */ - <> - - Hey, {session?.user?.email} - - - signOutUser()}> - Sign Out - - - > - } - - - ) -} - -export default JournalNavbarComponent; \ No newline at end of file diff --git a/components/Journal/SearchFormCard.tsx b/components/Journal/SearchFormCard.tsx deleted file mode 100644 index c427246c..00000000 --- a/components/Journal/SearchFormCard.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import Card from "../Card"; -import { ClimbingBoxLoader } from "react-spinners"; - -import AccountAvatar from "../AccountAvatar"; -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; - -export default function SearchFormCard ( { onSearch } ) { - const supabase = useSupabaseClient(); - const session = useSession(); - const [searchContent, setSearchContent] = useState(''); - const [avatar_url, setAvatarUrl] = useState(null); - - function search () { - console.log(`${searchContent} sent as request to flask`) - }; - - useEffect(() => { - supabase.from('profiles') - .select(`avatar_url`) - .eq('id', session?.user?.id) - .then( result => { - setAvatarUrl(result?.data[0].avatar_url); - }) - }, []); - - return ( - - - - - - { session?.user?.id && ( - setSearchContent( e.target.value )} className='grow p-3 h-14' placeholder={`Search for a paper here`} /> - )} - - Search - - - - ) -} \ No newline at end of file diff --git a/components/Lens/FeedPost.tsx b/components/Lens/FeedPost.tsx deleted file mode 100644 index 8f0dd631..00000000 --- a/components/Lens/FeedPost.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { MediaRenderer } from '@thirdweb-dev/react'; -import Link from 'next/link'; -import React from 'react'; -import { ExplorePublicationsQuery } from '../../graphql/generated'; -import styles from '../../styles/Lens/FeedPost.module.css'; -import { useComments } from '@lens-protocol/react'; // Visit https://docs.lens.xyz/docs/use-comments - -type Props = { - publication: ExplorePublicationsQuery["explorePublications"]["items"][0]; -} - -export default function LensPostFeed ({ publication }: Props) { - var postId = publication.id; - - return ( - - - - - {publication.profile.name || publication.profile.handle} - - - - {publication.metadata.name} - {publication.metadata.content} - - {(publication.metadata.image || publication.metadata.media?.length > 0) && ( - - )} - - - {publication.stats.totalAmountOfCollects} Collects - {publication.stats.totalAmountOfComments} Comments - {publication.stats.totalAmountOfMirrors} Mirrors - - - ); -}; \ No newline at end of file diff --git a/components/Lens/LensUser.tsx b/components/Lens/LensUser.tsx deleted file mode 100644 index df292176..00000000 --- a/components/Lens/LensUser.tsx +++ /dev/null @@ -1,104 +0,0 @@ -type Props = {}; - -export default function LensProfilePage ( {}: Props ) { - return "Stub" -} - -/*/ Base imports / next -import React from "react"; -import { useRouter } from "next/router"; - -// Functional components -import LensPostFeed from "./FeedPost"; - -// Thirdweb interactions -import { MediaRenderer, Web3Button } from "@thirdweb-dev/react"; - -// API Queries / Tanstack-Graphql -import { useProfileQuery, usePublicationsQuery } from "../../graphql/generated"; -//import { useFollow } from "@lens-protocol/react"; -import { useFollow } from "../../lib/useFollow"; - -// Styling -import styles from '../../styles/Lens/Profile.module.css'; -import { Flex, Text, IconButton } from "@chakra-ui/react"; -import { LENS_CONTRACT_ABI, LENS_CONTRACT_ADDRESS } from "../../constants/contracts"; - -type Props = {}; - -export default function LensProfilePage ( {}: Props ) { - const router = useRouter(); - const { id } = router.query; - const { mutate: followUser } = useFollow(); - const { isLoading: loadingProfile, data: profileData, error: profileError } = useProfileQuery({ - request: { - handle: id, - }, - }, { - enabled: !!id, - }); - - const { isLoading: isLoadingPublications, data: publicationsData, error: publicationsError } = usePublicationsQuery({ - request: { - profileId: profileData?.profile?.id, - }, - }, { - enabled: !!profileData?.profile?.id, - }); - - if (publicationsError || profileError) { return Unable to find this profile; }; - if (loadingProfile) { return Loading profile...; }; - - return ( - - {/**/{/* - - - - {/* @ts-ignore */}{/* - {profileData?.profile?.coverPicture?.original?.url && ( - - )} - {/* @ts-ignore */}{/* - {profileData?.profile?.picture?.original?.url && ( - - )} - {profileData?.profile?.name || 'Unknown user'} - {profileData?.profile?.handle} - {profileData?.profile?.bio} - {profileData?.profile?.stats.totalFollowers} Followers - - followUser(profileData?.profile?.id)} - >Follow User - - { - publicationsData?.publications.items.map((publication) => ( - - )) - } - - - - */} - /*); -} -}*/ \ No newline at end of file diff --git a/components/Lens/Utterances.jsx b/components/Lens/Utterances.jsx deleted file mode 100644 index 48df7add..00000000 --- a/components/Lens/Utterances.jsx +++ /dev/null @@ -1,123 +0,0 @@ -/*import Utterances from 'utterances-react'; - -export default function PostUtter () { - return ( - - ); -}*/ - -import React, { useEffect, useRef, Component } from 'react'; - -export const createComment = () => { - const ref = useRef(); - const script = document.createElement('script'); - - const config = { - src: 'https://utteranc.es/client.js', - repo: 'signal-k/starsailors', - 'issue-term': 'pathname', - theme: 'github-light', - label: 'ansible', - crossOrigin: 'anonymous', - defer: true - }; - - Object.entries(config).forEach(([key, value]) => { - script.setAttribute(key, value); - }); - - setTimeout(() => { - ref.current.append(script); - }, 300); - - return ; -} - -export class UtterancesCommentsDefunct extends Component { - componentDidMount () { - let script = document.createElement("script"); - let anchor = document.getElementById("inject-comments-for-uterances"); - script.setAttribute("src", "https://utteranc.es/client.js"); - script.setAttribute("crossorigin","anonymous"); - script.setAttribute("async", true); - script.setAttribute("repo", "signal-k/starsailors"); - script.setAttribute("issue-term", "title"); - script.setAttribute("theme", "github-light"); - script.setAttribute("label", "ansible"); - anchor.appendChild(script); - } - - render() { - return ( - - ); - } -} - -export default class UtterancesComments extends Component { - - constructor(props) { - super(props); - this.commentBox = React.createRef(); // use ref to create our element - } - - componentDidMount() { // Should we just put this in a post that is inside a profile sandbox? - let scriptEl = document.createElement("script"); - scriptEl.setAttribute("theme", 'github-light'); - scriptEl.setAttribute("src", "https://utteranc.es/client.js"); - scriptEl.setAttribute("crossorigin", "anonymous"); - scriptEl.setAttribute("async", true); - scriptEl.setAttribute("repo", "signal-k/starsailors"); - scriptEl.setAttribute("issue-term", "url"); - scriptEl.setAttribute("label", "ansible"); - this.commentBox.current.appendChild(scriptEl); - } - - render() { - return ( - - - - ); - } -} - -export function UtterancesCommentsArchived () { - const ref = useRef(); - - useEffect(() => { - const script = document.createElement('script'); - - const config = { - src: 'https://utteranc.es/client.js', - repo: 'signal-k/starsailors', - 'issue-term': 'pathname', - theme: 'github-light', - label: 'ansible', - crossOrigin: 'anonymous', - defer: true - }; - - Object.entries(config).forEach(([key, value]) => { - script.setAttribute(key, value); - }); - - setTimeout(() => { - ref.current.append(script); - }, 300); - }, []); - - return ; -}; \ No newline at end of file diff --git a/components/NavigationCard.tsx b/components/NavigationCard.tsx index 5488452e..081995e3 100644 --- a/components/NavigationCard.tsx +++ b/components/NavigationCard.tsx @@ -18,25 +18,25 @@ export default function NavigationCard(){ Navigation - + Home - + Friends - + Saved posts - {/* For testing -> final should be /posts/notifications */} + {/* For testing -> final should be /posts/notifications */} @@ -69,25 +69,25 @@ export function ProfileNavigationCard(){ Navigation - + Home - + Friends - + Saved posts - + @@ -106,43 +106,43 @@ export function ProfileNavigationCard(){ Sandbox - + Contracts - + Components - + Datasets - + Edge Functions/Forks - + Lens Feed - + All together :/ - + diff --git a/components/PostCard.jsx b/components/PostCard.jsx deleted file mode 100644 index e40fd2d5..00000000 --- a/components/PostCard.jsx +++ /dev/null @@ -1,539 +0,0 @@ -import Card, { ProfileCard } from "./Card"; -import ClickOutHandler from 'react-clickout-handler'; -import React, { useContext, useEffect, useState } from "react"; -import Link from "next/link"; -import AccountAvatar, { PostCardAvatar } from "./AccountAvatar"; -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; -import { UserContext } from "../context/UserContext"; - -import en from 'javascript-time-ago/locale/en.json'; -import TimeAgo from "javascript-time-ago"; -TimeAgo.addDefaultLocale(en); -import ReactTimeAgo from "react-time-ago"; -import { planetsImagesCdnAddress } from "../constants/cdn"; - -// type Profiles = Database['public']['Tables']['profiles']['Row']; - -export function PostModal ( { content, created_at, media, profiles:authorProfile, planets2 } ) { - const [loading, setLoading] = useState(false); - const { profile: myProfile } = useContext(UserContext); - const [profiles, setProfiles] = useState(); - const supabase = useSupabaseClient(); - const session = useSession(); - - const [dropdownOpen, setDropdownOpen] = useState(false); - - function openDropdown(e) { - e.stopPropagation(); - setDropdownOpen(true); - }; - - function handleClickOutsideDropdown(e) { - e.stopPropagation(); - setDropdownOpen(false); - }; - - return ( - - - - - - - - - - - - - - - - {authorProfile !== null && ( - Classification by {authorProfile.username} - )} - {authorProfile === null && ( - Classification by Anon - )} - {content} (Planet {planets2}) {planets2?.temperature} - - {media?.length > 0 && ( - - {media?.length > 0 && media.map(media => ( - - ))} - - )} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) -} - -export default function PostCard ( { content, created_at, media, profiles:authorProfile, planets2 } ) { - const [loading, setLoading] = useState(false); - //const [avatar_url, setAvatarUrl] = useState(); - const { profile: myProfile } = useContext(UserContext); - const [profiles, setProfiles] = useState(); - const supabase = useSupabaseClient(); - const session = useSession(); - - const [dropdownOpen,setDropdownOpen] = useState(false); - - function openDropdown(e) { - e.stopPropagation(); - setDropdownOpen(true); - } - - function handleClickOutsideDropdown(e) { - e.stopPropagation(); - setDropdownOpen(false); - } - - return ( - - - - - - - - - - - - - - {authorProfile?.username} - - - shared a post on planet {planets2} {/* Add link to ORCHID publication ID/Lens ID */} - - {/* */} - - - - - - - - {dropdownOpen && ( - - )} {/* Add a button/handler to show Sandbox info if available */} - - - {dropdownOpen && ( - - - - - - Save post - - - - - Turn notifications - - - - - Hide post - - - - - Delete - - - - - Report - - - )} - - - - - - {content} - {media?.length > 0 && ( - - {media?.length > 0 && media.map(media => ( - - ))} - - )} - - {/* - - - - - 72 - - - - - - 11 - - - - - - 4 - - - {/**/} - - - - - - - - - - - - - {/**/} - - - ); -} - -export function PlanetPostCard ( { content, created_at, media, profiles:authorProfile, planets2 } ) { - const [loading, setLoading] = useState(false); - //const [avatar_url, setAvatarUrl] = useState(); - const { profile: myProfile } = useContext(UserContext); - const [profiles, setProfiles] = useState(); - const supabase = useSupabaseClient(); - const session = useSession(); - - const [dropdownOpen,setDropdownOpen] = useState(false); - - function openDropdown(e) { - e.stopPropagation(); - setDropdownOpen(true); - } - - function handleClickOutsideDropdown(e) { - e.stopPropagation(); - setDropdownOpen(false); - } - - return ( - - - - - - - - - - - - - - {authorProfile?.username} - - - shared a post {/* Add link to ORCHID publication ID/Lens ID */} - - {/* */} - - - - - - - - {dropdownOpen && ( - - )} {/* Add a button/handler to show Sandbox info if available */} - - - {dropdownOpen && ( - - - - - - Save post - - - - - Turn notifications - - - - - Hide post - - - - - Delete - - - - - Report - - - )} - - - - - - {content} - {media?.length > 0 && ( - - {media?.length > 0 && media.map(media => ( - - ))} - - )} - - {/* - - - - - 72 - - - - - - 11 - - - - - - 4 - - - {/**/} - - - - - - - - - - - - - {/**/} - - - ); -} - - -export function PostCardProfile ( { content, created_at, media, profiles:authorProfile } ) { - const [loading, setLoading] = useState(false); - //const [avatar_url, setAvatarUrl] = useState(); - const { profile: myProfile } = useContext(UserContext); - const [profiles, setProfiles] = useState(); - const supabase = useSupabaseClient(); - const session = useSession(); - - const [dropdownOpen,setDropdownOpen] = useState(false); - - function openDropdown(e) { - e.stopPropagation(); - setDropdownOpen(true); - } - - function handleClickOutsideDropdown(e) { - e.stopPropagation(); - setDropdownOpen(false); - } - - return ( - - - - - - - - - - - - - - {authorProfile?.username} - - - shared a post {/* Add link to ORCHID publication ID/Lens ID */} - - {/* */} - - - - - - - - {dropdownOpen && ( - - )} {/* Add a button/handler to show Sandbox info if available */} - - - {dropdownOpen && ( - - - - - - Save post - - - - - Turn notifications - - - - - Hide post - - - - - Delete - - - - - Report - - - )} - - - - - - {content} - {media?.length > 0 && ( - - {media?.length > 0 && media.map(media => ( - - ))} - - )} - - - - - - - 72 - - - - - - 11 - - - - - - 4 - - - {/**/} - - - - - - - - - - - - - {/**/} - - - ); -} \ No newline at end of file diff --git a/components/PostFormCard.jsx b/components/PostFormCard.jsx deleted file mode 100644 index d1ce71e3..00000000 --- a/components/PostFormCard.jsx +++ /dev/null @@ -1,278 +0,0 @@ -import Card from "./Card"; -import AccountAvatar from "./AccountAvatar"; -import React, { useContext, useEffect, useState } from "react"; -import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; -import { UserContext } from "../context/UserContext"; -import { ClimbingBoxLoader } from "react-spinners"; -import { useRouter } from "next/router"; - -// type Profiles = Database['public']['Tables']['profiles']['Row']; - -export default function PostFormCard ( { onPost } ) { - const supabase = useSupabaseClient(); - const [content, setContent] = useState(''); - const session = useSession(); - const { profile } = useContext(UserContext); - - const [uploads, setUploads] = useState([]); - const [isUploading, setIsUploading] = useState(false); - //const [avatar_url, setAvatarUrl] = useState(); - const [avatar_url, setAvatarUrl] = useState(null); - - function createPost () { - supabase.from('posts').insert({ - author: session?.user?.id, // This is validated via RLS so users can't pretend to be other user - content, // : content, - media: uploads, // This should be changed to the user path `storage/userId/post/media...` like in the image gallery - // File upload -> show an icon depending on what type of file. - }).then(response => { - if (!response.error) { - alert(`Post ${content} created`); - setContent(''); - setUploads([]); - if ( onPost ) { - onPost(); - } - } - }); - } - - useEffect(() => { - supabase.from('profiles') - .select(`avatar_url`) - .eq('id', session?.user?.id) - .then(result => { - setAvatarUrl(result.data[0].avatar_url); //console.log(result.data[0].avatar_url) - }) - }, session); - - async function addMedia ( e ) { - const files = e.target.files; - if (files.length > 0) { - setIsUploading(true); - for (const file of files) { // To-Do: List of user's photos from the image gallery in wb3-10 - const fileName = Date.now() + session?.user?.id + file.name; // Generate a random string to make the file unique - const result = await supabase.storage - .from('media') // Upload the file/media - .upload(fileName, file); - - if (result.data) { - const url = process.env.NEXT_PUBLIC_SUPABASE_URL + '/storage/v1/object/public/media/' + result.data.path; - setUploads(prevUploads => [...prevUploads, url]); // Add the most recently uploaded image to an array of images that are in state - } else { - console.log(result); - } - } - setIsUploading(false); - } - } - - // https://qwbufbmxkjfaikoloudl.supabase.co/storage/v1/object/public/media/1675853386903cebdc7a2-d8af-45b3-b37f-80f328ff54d6image-asset.jpg - // https://qwbufbmxkjfaikoloudl.supabase.co/storage/v1/object/public/media1675853386903cebdc7a2-d8af-45b3-b37f-80f328ff54d6image-asset.jpg - - return ( - - - - - { profile && ( - setContent(e.target.value)} className="grow p-3 h-14" placeholder={`What's on your mind, ${profile?.username}?`} /> )} - - {isUploading && ( - - )} - {uploads.length > 0 && ( - - {uploads.map(upload => ( - - ))} - - )} - - - - - - - - Media - - - - - - - - People - - - - - - - - - Checkin - - - - - - - - Mood - - - - Share - - - - ); -} - -export function PostFormCardPlanetTag ( { onPost } ) { - const supabase = useSupabaseClient(); - const [content, setContent] = useState(''); - const session = useSession(); - const router = useRouter(); - const planetId = router.query.id; - //const [planetId, setPlanetId] = useState(); - const { profile } = useContext(UserContext); - - const [uploads, setUploads] = useState([]); - const [isUploading, setIsUploading] = useState(false); - //const [avatar_url, setAvatarUrl] = useState(); - const [avatar_url, setAvatarUrl] = useState(null); - - function createPost () { - supabase.from('posts_duplicate').insert({ - author: session?.user?.id, // This is validated via RLS so users can't pretend to be other user - content, // : content, - planets2: planetId, - media: uploads, // This should be changed to the user path `storage/userId/post/media...` like in the image gallery - // File upload -> show an icon depending on what type of file. - }).then(response => { - if (!response.error) { - alert(`Post ${content} created`); - setContent(''); - setUploads([]); - if ( onPost ) { - onPost(); - } - } - }); - } - - useEffect(() => { - supabase.from('profiles') - .select(`avatar_url`) - .eq('id', session?.user?.id) - .then(result => { - setAvatarUrl(result?.data[0]?.avatar_url); //console.log(result.data[0].avatar_url) - }) - }, session); - - async function addMedia ( e ) { - const files = e.target.files; - if (files.length > 0) { - setIsUploading(true); - for (const file of files) { // To-Do: List of user's photos from the image gallery in wb3-10 - const fileName = Date.now() + session?.user?.id + file.name; // Generate a random string to make the file unique - const result = await supabase.storage - .from('media') // Upload the file/media - .upload(fileName, file); - - if (result.data) { - const url = process.env.NEXT_PUBLIC_SUPABASE_URL + '/storage/v1/object/public/media/' + result.data.path; - setUploads(prevUploads => [...prevUploads, url]); // Add the most recently uploaded image to an array of images that are in state - } else { - console.log(result); - } - } - setIsUploading(false); - } - } - - // https://qwbufbmxkjfaikoloudl.supabase.co/storage/v1/object/public/media/1675853386903cebdc7a2-d8af-45b3-b37f-80f328ff54d6image-asset.jpg - // https://qwbufbmxkjfaikoloudl.supabase.co/storage/v1/object/public/media1675853386903cebdc7a2-d8af-45b3-b37f-80f328ff54d6image-asset.jpg - - return ( - - - - - { profile && ( - setContent(e.target.value)} className="grow p-3 h-14" placeholder={`What do you think about this planet candidate, ${profile?.username}?`} /> )} - - {isUploading && ( - - )} - {uploads.length > 0 && ( - - {uploads.map(upload => ( - - ))} - - )} - - - - - - - - Media - - - {/* - - - - - People - - - - - - - - - Checkin - - - - - - - - Mood - - */} - - Share - - - - ); -} - -/*export function PlanetTagPostForm ( { onPost } ) { - const supabase = useSupabaseClient(); - const [content, setContent] = useState(''); - const session = useSession(); - const { profile } = useContext(UserContext); - - const [uploads, setUploads] = useState([]); - const [isUploading, setIsUploading] = useState(false); - //const [avatar_url, setAvatarUrl] = useState(); - - const [planet, setPlanet] = useState(''); - - return Test; -*/ \ No newline at end of file diff --git a/components/Posts/ProfileCard.jsx b/components/Posts/ProfileCard.jsx deleted file mode 100644 index 11c31c63..00000000 --- a/components/Posts/ProfileCard.jsx +++ /dev/null @@ -1,130 +0,0 @@ -import React, { useEffect, useState } from "react" -import Card from "../Card" -import FriendInfo from "../FriendInfo" -import PostCard, { PostCardProfile } from "../PostCard" -import { useSupabaseClient } from "@supabase/auth-helpers-react" - -export function ProfileContent ({ activeTab, userId }) { - const supabase = useSupabaseClient(); - - const [posts, setPosts] = useState([]); - const [planetPosts, setPlanetPosts] = useState([]); - const [profile, setProfile] = useState(null); - - useEffect (() => { - if (!userId) { return; }; - if (activeTab === 'posts') { - loadProfile().then(() => {}); - } - }, [userId]); - - async function loadProfile () { - const posts = await userPosts(userId); - const planetPosts = await userPlanetPosts(userId); - const profile = await userProfile(userId); - setPosts(posts) - setPlanetPosts(planetPosts); - setProfile(profile); - return { posts, profile }; - } - - async function userPlanetPosts (userId) { - const { data } = await supabase.from('posts_duplicate') - .select('*') //('id, content, created_at, media, planets2, profiles(id, avatar_url, username)') // profiles(id, avatar_url, username)') - .order('created_at', { ascending: false }) - .eq('author', userId) // session?.user?.id) - return data; - console.log(data); - }; - - async function userPosts (userId) { - const { data } = await supabase.from('posts') - .select('id, content, created_at, media, author') // profiles(id, avatar_url, username)') - .order('created_at', { ascending: false }) - .eq('author', userId) // session?.user?.id) - return data; - }; - - async function userProfile (userId) { - const { data } = await supabase.from('profiles') - .select() - .eq('id', userId); - return data[0]; - }; - - return ( - - {activeTab === 'posts' && ( - - { planetPosts?.length > 0 && planetPosts.map(post => ( - - ))} - { posts.length > 0 && posts.map(post => ( - - ))} {/* Section to show their long-form articles here */} - {/**/} - {/* Create a post card to tag the user */} - - )} - {activeTab === 'about' && ( - - - About me - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut doloremque harum maxime mollitia perferendis praesentium quaerat. Adipisci, delectus eum fugiat incidunt iusto molestiae nesciunt odio porro quae quaerat, reprehenderit, sed. - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet assumenda error necessitatibus nesciunt quas quidem quisquam reiciendis, similique. Amet consequuntur facilis iste iure minima nisi non praesentium ratione voluptas voluptatem? - - - )} - {activeTab === 'friends' && ( - - - Friends - - - - - - - - - - - - - - - - - - - - - - - - - - )} - {activeTab === 'photos' && ( - - - - - - - - - - - - - - - - - - - )} - - ); -}; \ No newline at end of file diff --git a/components/Posts/ProfileNavigation.tsx b/components/Posts/ProfileNavigation.tsx deleted file mode 100644 index f435f531..00000000 --- a/components/Posts/ProfileNavigation.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import Link from "next/link" - -export default function ProfileTabs ({ userId, activeTab }) { - const tabClasses = 'flex gap-1 px-4 py-1 items-center border-b-4 border-b-white'; - const activeTabClasses = 'flex gap-1 px-4 py-1 items-center border-socialBlue border-b-4 text-socialBlue font-bold'; - - return ( - - - - - - Posts - - {/* - - - - About - - - - - - Friends - - - - - - Photos - */} - {/* - - - {/* Add Generator here, highlight the "ProfileNavigation" there */} - {/*Sandbox - */} - - ) -} \ No newline at end of file diff --git a/components/Section/Layout.tsx b/components/Section/Layout.tsx new file mode 100644 index 00000000..c95dc80d --- /dev/null +++ b/components/Section/Layout.tsx @@ -0,0 +1,25 @@ +import Sidebar from "./Sidebar"; +import Navbar from "./Navbar"; +import React, { PropsWithChildren } from "react"; +import Bottombar from "../Core/BottomBar"; + +const Layout: React.FC = () => { + const isMobile = window.innerWidth <= 768; // Adjust the threshold as needed + + return ( + <> + {/* */} + + + + {isMobile && ( + + + + )} + + > + ); +}; + +export default Layout; \ No newline at end of file diff --git a/components/Section/NavItem.tsx b/components/Section/NavItem.tsx new file mode 100644 index 00000000..0ba4aa29 --- /dev/null +++ b/components/Section/NavItem.tsx @@ -0,0 +1,35 @@ +import { Button } from "../ui/Button"; +import { LucideIcon } from "lucide-react"; +import Link from "next/link"; +import { usePathname, useSearchParams } from "next/navigation"; +import React from "react"; +import { checkCurrentActiveUrl } from "../../lib/helper/str.helper"; + +type TProps = { + url: string; + label: string; + Icon: LucideIcon; + active: boolean; +}; + +const NavItem: React.FC = ({ url, Icon, label, active }) => { + return ( + + + + + {label} + + + + ); +}; + +export default NavItem; \ No newline at end of file diff --git a/components/Section/Navbar.tsx b/components/Section/Navbar.tsx new file mode 100644 index 00000000..3611f806 --- /dev/null +++ b/components/Section/Navbar.tsx @@ -0,0 +1,24 @@ +import { Avatar, AvatarFallback, AvatarImage } from "../ui/Avatar"; +import { useEffect, useState } from "react"; +import Link from "next/link"; +import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; + +const Navbar: React.FC = () => { + const supabase = useSupabaseClient(); + const session = useSession(); + + return ( + + + DiscussionSS + + + + + + + + ); +}; + +export default Navbar; \ No newline at end of file diff --git a/components/Section/Sidebar.tsx b/components/Section/Sidebar.tsx new file mode 100644 index 00000000..d2854f64 --- /dev/null +++ b/components/Section/Sidebar.tsx @@ -0,0 +1,142 @@ +import { Avatar, AvatarFallback, AvatarImage } from "../ui/Avatar"; +import { + BellRing, + Bug, + GanttChartSquare, + Loader2, + LogOut, + Megaphone, + Menu, + StarHalfIcon, + StarIcon, + TrendingUp, + User, + User2Icon, +} from "lucide-react"; +import Link from "next/link"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import React, { useEffect, useState } from "react"; +import NavItem from "./NavItem"; +import { Button } from "../ui/Button"; + +const navCategoryItems = [ + { + url: "/", + label: "STAR", + Icon: StarHalfIcon, + }, + { + url: "/profile", + label: "PROFILE", + Icon: User2Icon, + }, +]; + +const navSettingItems = [ + { + url: "https://starsailors.space", + label: "STAR", + Icon: StarHalfIcon, + }, + { + url: "/profile", + label: "PROFILE", + Icon: User2Icon, + }, +]; + +const Sidebar: React.FC = () => { + const pathname = usePathname(); + const query = useSearchParams(); + + const [openAside, setOpenAside] = useState(false); + const [logoutClicked, setLogoutClicked] = useState(false); + + const router = useRouter(); + const [user, setUser] = useState<{ + username: string; + image: null | string; + role: "common" | "developer" | string; + }>({ + username: "", + image: null, + role: "common", + }); + + useEffect(() => { + setOpenAside(false); + }, [pathname, query]); + + return ( + <> + + + setOpenAside(true)} + className="w-full flex items-center justify-start space-x-2" + > + + Buka Menu + + + > + ); +}; + +export default Sidebar; \ No newline at end of file diff --git a/components/Sidebar.tsx b/components/Sidebar.tsx deleted file mode 100644 index 01dc2643..00000000 --- a/components/Sidebar.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import Card from './Card'; -import styles from '../styles/social-graph/Home.module.css'; -import { useRouter } from "next/router"; -import Link from "next/link"; -import { useSupabaseClient, useUser } from "@supabase/auth-helpers-react"; -//import { Database } from "../utils/database.types"; -//import SignInButton from "./SignInButton"; - -export default function NavigationCard () { - const router = useRouter(); - const { asPath:pathname } = router; - const activeElementClass = 'styles.activeSidebarNavItem'; - const elementClass = 'styles.sidebarNavItems'; - const user = useUser(); - const supabase = useSupabaseClient(); - - return ( - - - Navigation - {/*Home*/} - - - Home - - - - Feed - - - - Bookmarks - - - - My stuff - - - - Notifications - - supabase.auth.signOut()}> - - Logout - - - - ); -}; \ No newline at end of file diff --git a/components/icons/alert-circle.tsx b/components/icons/alert-circle.tsx new file mode 100644 index 00000000..9ecc26b4 --- /dev/null +++ b/components/icons/alert-circle.tsx @@ -0,0 +1,21 @@ +export default function AlertCircleIcon({ className }: { className?: string }) { + return ( + + + + + + ); +} diff --git a/components/icons/check-in-circle.tsx b/components/icons/check-in-circle.tsx new file mode 100644 index 00000000..027d97c7 --- /dev/null +++ b/components/icons/check-in-circle.tsx @@ -0,0 +1,15 @@ +export default function CheckInCircleIcon({ + className +}: { + className?: string; +}) { + return ( + + + + ); +} diff --git a/components/icons/check.tsx b/components/icons/check.tsx new file mode 100644 index 00000000..7fee4e53 --- /dev/null +++ b/components/icons/check.tsx @@ -0,0 +1,18 @@ +export default function CheckIcon({ className }: { className?: string }) { + return ( + + + + ); +} diff --git a/components/icons/directory.tsx b/components/icons/directory.tsx new file mode 100644 index 00000000..02e8d7c6 --- /dev/null +++ b/components/icons/directory.tsx @@ -0,0 +1,22 @@ +export default function DirectoryIcon({ className }: { className?: string }) { + return ( + + + + + + + ); +} diff --git a/components/icons/edit.tsx b/components/icons/edit.tsx new file mode 100644 index 00000000..1d09a8fc --- /dev/null +++ b/components/icons/edit.tsx @@ -0,0 +1,18 @@ +export default function EditIcon({ className }: { className?: string }) { + return ( + + {' '} + + ); +} diff --git a/components/icons/expanding-arrow.tsx b/components/icons/expanding-arrow.tsx new file mode 100644 index 00000000..70d2047c --- /dev/null +++ b/components/icons/expanding-arrow.tsx @@ -0,0 +1,36 @@ +export default function ExpandingArrow({ className }: { className?: string }) { + return ( + + + + + + + + + ); +} diff --git a/components/icons/github.tsx b/components/icons/github.tsx new file mode 100644 index 00000000..6f91e2c4 --- /dev/null +++ b/components/icons/github.tsx @@ -0,0 +1,13 @@ +export default function GitHubIcon({ className }: { className?: string }) { + return ( + + + + ); +} diff --git a/components/icons/index.tsx b/components/icons/index.tsx new file mode 100644 index 00000000..e059e9fc --- /dev/null +++ b/components/icons/index.tsx @@ -0,0 +1,12 @@ +export { default as ExpandingArrow } from './expanding-arrow'; +export { default as SearchIcon } from './search'; +export { default as XCircleIcon } from './x-circle'; +export { default as XIcon } from './x'; +export { default as LoadingDots } from './loading-dots'; +export { default as CheckInCircleIcon } from './check-in-circle'; +export { default as CheckIcon } from './check'; +export { default as EditIcon } from './edit'; +export { default as UploadIcon } from './upload'; +export { default as DirectoryIcon } from './directory'; +export { default as GitHubIcon } from './github'; +export { default as AlertCircleIcon } from './alert-circle'; diff --git a/components/icons/loading-dots.module.css b/components/icons/loading-dots.module.css new file mode 100644 index 00000000..3b639020 --- /dev/null +++ b/components/icons/loading-dots.module.css @@ -0,0 +1,40 @@ +.loading { + display: inline-flex; + align-items: center; +} + +.loading .spacer { + margin-right: 2px; +} + +.loading span { + animation-name: blink; + animation-duration: 1.4s; + animation-iteration-count: infinite; + animation-fill-mode: both; + width: 5px; + height: 5px; + border-radius: 50%; + display: inline-block; + margin: 0 1px; +} + +.loading span:nth-of-type(2) { + animation-delay: 0.2s; +} + +.loading span:nth-of-type(3) { + animation-delay: 0.4s; +} + +@keyframes blink { + 0% { + opacity: 0.2; + } + 20% { + opacity: 1; + } + 100% { + opacity: 0.2; + } +} diff --git a/components/icons/loading-dots.tsx b/components/icons/loading-dots.tsx new file mode 100644 index 00000000..629bf6f7 --- /dev/null +++ b/components/icons/loading-dots.tsx @@ -0,0 +1,13 @@ +import styles from "./loading-dots.module.css"; + +const LoadingDots = ({ color = "#000" }: { color: string }) => { + return ( + + + + + + ); +}; + +export default LoadingDots; diff --git a/components/icons/search.tsx b/components/icons/search.tsx new file mode 100644 index 00000000..22939594 --- /dev/null +++ b/components/icons/search.tsx @@ -0,0 +1,19 @@ +export default function SearchIcon({ className }: { className?: string }) { + return ( + + + + + ); +} diff --git a/components/icons/upload.tsx b/components/icons/upload.tsx new file mode 100644 index 00000000..897dd7da --- /dev/null +++ b/components/icons/upload.tsx @@ -0,0 +1,20 @@ +export default function UploadIcon({ className }: { className?: string }) { + return ( + + + + {' '} + + ); +} diff --git a/components/icons/x-circle.tsx b/components/icons/x-circle.tsx new file mode 100644 index 00000000..019e13da --- /dev/null +++ b/components/icons/x-circle.tsx @@ -0,0 +1,20 @@ +export default function XCircleIcon({ className }: { className?: string }) { + return ( + + + + + + ); +} diff --git a/components/icons/x.tsx b/components/icons/x.tsx new file mode 100644 index 00000000..b219f2ca --- /dev/null +++ b/components/icons/x.tsx @@ -0,0 +1,19 @@ +export default function XIcon({ className }: { className?: string }) { + return ( + + + + + ); +} diff --git a/components/onboarding/index.tsx b/components/onboarding/index.tsx deleted file mode 100644 index ac9bf5a0..00000000 --- a/components/onboarding/index.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React, { useState } from "react"; - -import { useSession, useSupabaseClient } from '@supabase/auth-helpers-react'; -import { - Comments, - AuthModal, - CommentsProvider, - } from 'supabase-comments-extension'; - -const UserOnboarding = () => { - const session = useSession(); - const supabase = useSupabaseClient(); - - const [modalVisible, setModalVisible] = useState(false); - - return ( - <>{/* - - */} - > - ); -} - -export default UserOnboarding; \ No newline at end of file diff --git a/components/ui/Avatar.tsx b/components/ui/Avatar.tsx new file mode 100644 index 00000000..438fda22 --- /dev/null +++ b/components/ui/Avatar.tsx @@ -0,0 +1,48 @@ +import * as React from "react"; +import * as AvatarPrimitive from '@radix-ui/react-avatar'; + +import { cn } from "../../lib/uitls"; + +const Avatar = React.forwardRef< +React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +Avatar.displayName = AvatarPrimitive.Root.displayName; + +const AvatarImage = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AvatarImage.displayName = AvatarPrimitive.Image.displayName; + +const AvatarFallback = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName; + +export { Avatar, AvatarImage, AvatarFallback }; \ No newline at end of file diff --git a/components/ui/Button.tsx b/components/ui/Button.tsx new file mode 100644 index 00000000..4b8c73b5 --- /dev/null +++ b/components/ui/Button.tsx @@ -0,0 +1,57 @@ +import * as React from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { cva, type VariantProps } from "class-variance-authority"; + +import { cn } from "../../lib/uitls"; + +const buttonVariants = cva( + "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + default: + "bg-primary text-primary-foreground shadow hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", + outline: + "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2", + sm: "h-8 rounded-md px-3 text-xs", + lg: "h-10 rounded-md px-8", + icon: "h-9 w-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + }, +); + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean; +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button"; + return ( + + ); + }, +); +Button.displayName = "Button"; + +export { Button, buttonVariants }; \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/AnomalyGovernor.json b/context/contracts/chain-info/contracts/AnomalyGovernor.json deleted file mode 100644 index 2f38edf4..00000000 --- a/context/contracts/chain-info/contracts/AnomalyGovernor.json +++ /dev/null @@ -1,1255 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "contract IVotes", - "name": "_token", - "type": "address" - }, - { - "internalType": "contract TimelockController", - "name": "_timelock", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_votingDelay", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPeriod", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_quorumPercentage", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "eta", - "type": "uint256" - } - ], - "name": "ProposalQueued", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldProposalThreshold", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newProposalThreshold", - "type": "uint256" - } - ], - "name": "ProposalThresholdSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldQuorumNumerator", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newQuorumNumerator", - "type": "uint256" - } - ], - "name": "QuorumNumeratorUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldTimelock", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newTimelock", - "type": "address" - } - ], - "name": "TimelockChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldVotingDelay", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVotingDelay", - "type": "uint256" - } - ], - "name": "VotingDelaySet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldVotingPeriod", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVotingPeriod", - "type": "uint256" - } - ], - "name": "VotingPeriodSet", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getNumberOfProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalEta", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "againstVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "forVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "abstainVotes", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "queue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quorumDenominator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorumNumerator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quorumNumerator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "s_proposalCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newProposalThreshold", - "type": "uint256" - } - ], - "name": "setProposalThreshold", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newVotingDelay", - "type": "uint256" - } - ], - "name": "setVotingDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newVotingPeriod", - "type": "uint256" - } - ], - "name": "setVotingPeriod", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timelock", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IVotes", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newQuorumNumerator", - "type": "uint256" - } - ], - "name": "updateQuorumNumerator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract TimelockController", - "name": "newTimelock", - "type": "address" - } - ], - "name": "updateTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/Box.json b/context/contracts/chain-info/contracts/Box.json deleted file mode 100644 index 8db5b82e..00000000 --- a/context/contracts/chain-info/contracts/Box.json +++ /dev/null @@ -1,3084 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "ValueChanged", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "retrieve", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "store", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "0": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/Ownable.sol", - "1": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "2": "contracts/Box.sol" - }, - "ast": { - "absolutePath": "contracts/Box.sol", - "exportedSymbols": { - "Box": [ - 35 - ], - "Context": [ - 173 - ], - "Ownable": [ - 151 - ] - }, - "id": 36, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".7" - ], - "nodeType": "PragmaDirective", - "src": "32:23:2" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 2, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 36, - "sourceUnit": 152, - "src": "57:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3, - "name": "Ownable", - "nameLocations": [ - "127:7:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 151, - "src": "127:7:2" - }, - "id": 4, - "nodeType": "InheritanceSpecifier", - "src": "127:7:2" - } - ], - "canonicalName": "Box", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 35, - "linearizedBaseContracts": [ - 35, - 151, - 173 - ], - "name": "Box", - "nameLocation": "120:3:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "value", - "nameLocation": "157:5:2", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "141:21:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "141:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "eventSelector": "93fe6d397c74fdf1402a8b72e47b68512f0510d7b98a4bc4cbdf6ac7108b3c59", - "id": 10, - "name": "ValueChanged", - "nameLocation": "175:12:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "indexed": false, - "mutability": "mutable", - "name": "newValue", - "nameLocation": "196:8:2", - "nodeType": "VariableDeclaration", - "scope": 10, - "src": "188:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "188:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "187:18:2" - }, - "src": "169:37:2" - }, - { - "body": { - "id": 25, - "nodeType": "Block", - "src": "262:70:2", - "statements": [ - { - "expression": { - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 17, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "272:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "280:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "272:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20, - "nodeType": "ExpressionStatement", - "src": "272:16:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 22, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "316:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21, - "name": "ValueChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "303:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 23, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "303:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24, - "nodeType": "EmitStatement", - "src": "298:27:2" - } - ] - }, - "functionSelector": "6057361d", - "id": 26, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 15, - "kind": "modifierInvocation", - "modifierName": { - "id": 14, - "name": "onlyOwner", - "nameLocations": [ - "252:9:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70, - "src": "252:9:2" - }, - "nodeType": "ModifierInvocation", - "src": "252:9:2" - } - ], - "name": "store", - "nameLocation": "221:5:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12, - "mutability": "mutable", - "name": "newValue", - "nameLocation": "235:8:2", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "227:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "227:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "226:18:2" - }, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "262:0:2" - }, - "scope": 35, - "src": "212:120:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 33, - "nodeType": "Block", - "src": "388:29:2", - "statements": [ - { - "expression": { - "id": 31, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "405:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 30, - "id": 32, - "nodeType": "Return", - "src": "398:12:2" - } - ] - }, - "functionSelector": "2e64cec1", - "id": 34, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "retrieve", - "nameLocation": "347:8:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27, - "nodeType": "ParameterList", - "parameters": [], - "src": "355:2:2" - }, - "returnParameters": { - "id": 30, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 34, - "src": "379:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "379:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "378:9:2" - }, - "scope": 35, - "src": "338:79:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 36, - "src": "111:308:2", - "usedErrors": [] - } - ], - "src": "32:388:2" - }, - "bytecode": "608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6102bb8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632e64cec11461005c5780636057361d14610072578063715018a6146100875780638da5cb5b1461008f578063f2fde38b146100aa575b600080fd5b6001546040519081526020015b60405180910390f35b61008561008036600461023c565b6100bd565b005b610085610100565b6000546040516001600160a01b039091168152602001610069565b6100856100b8366004610255565b610114565b6100c5610192565b60018190556040518181527f93fe6d397c74fdf1402a8b72e47b68512f0510d7b98a4bc4cbdf6ac7108b3c599060200160405180910390a150565b610108610192565b61011260006101ec565b565b61011c610192565b6001600160a01b0381166101865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61018f816101ec565b50565b6000546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b81356001600160a01b038116811461027e57600080fd5b939250505056fea2646970667358221220bcc88dd1598585e28d090cc03747fa457cef280cdbf196875f0f8717d0a97ba064736f6c63430008110033", - "bytecodeSha1": "a6c3b82a1ee5f99bfdd53e49b86f0d7202431d7f", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "Box", - "coverageMap": { - "branches": { - "0": { - "Ownable._checkOwner": { - "12": [ - 1422, - 1445, - true - ] - }, - "Ownable.transferOwnership": { - "11": [ - 2169, - 2191, - true - ] - } - }, - "1": {}, - "2": {} - }, - "statements": { - "0": { - "Ownable._checkOwner": { - "8": [ - 1414, - 1482 - ] - }, - "Ownable._transferOwnership": { - "9": [ - 2541, - 2558 - ], - "10": [ - 2568, - 2613 - ] - }, - "Ownable.owner": { - "1": [ - 1266, - 1279 - ] - }, - "Ownable.renounceOwnership": { - "4": [ - 1895, - 1925 - ] - }, - "Ownable.transferOwnership": { - "5": [ - 2161, - 2234 - ], - "6": [ - 2244, - 2272 - ] - } - }, - "1": { - "Context._msgSender": { - "7": [ - 712, - 729 - ] - } - }, - "2": { - "Box.retrieve": { - "0": [ - 398, - 410 - ] - }, - "Box.store": { - "2": [ - 272, - 288 - ], - "3": [ - 298, - 325 - ] - } - } - } - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Ownable" - ], - "deployedBytecode": "608060405234801561001057600080fd5b50600436106100575760003560e01c80632e64cec11461005c5780636057361d14610072578063715018a6146100875780638da5cb5b1461008f578063f2fde38b146100aa575b600080fd5b6001546040519081526020015b60405180910390f35b61008561008036600461023c565b6100bd565b005b610085610100565b6000546040516001600160a01b039091168152602001610069565b6100856100b8366004610255565b610114565b6100c5610192565b60018190556040518181527f93fe6d397c74fdf1402a8b72e47b68512f0510d7b98a4bc4cbdf6ac7108b3c599060200160405180910390a150565b610108610192565b61011260006101ec565b565b61011c610192565b6001600160a01b0381166101865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61018f816101ec565b50565b6000546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b81356001600160a01b038116811461027e57600080fd5b939250505056fea2646970667358221220bcc88dd1598585e28d090cc03747fa457cef280cdbf196875f0f8717d0a97ba064736f6c63430008110033", - "deployedSourceMap": "111:308:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;338:79;405:5;;338:79;;160:25:4;;;148:2;133:18;338:79:2;;;;;;;;212:120;;;;;;:::i;:::-;;:::i;:::-;;1831:101:0;;;:::i;1201:85::-;1247:7;1273:6;1201:85;;-1:-1:-1;;;;;1273:6:0;;;527:51:4;;515:2;500:18;1201:85:0;381:203:4;2081:198:0;;;;;;:::i;:::-;;:::i;212:120:2:-;1094:13:0;:11;:13::i;:::-;272:5:2::1;:16:::0;;;303:22:::1;::::0;160:25:4;;;303:22:2::1;::::0;148:2:4;133:18;303:22:2::1;;;;;;;212:120:::0;:::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2081:198::-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:0;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:0;;1082:2:4;2161:73:0::1;::::0;::::1;1064:21:4::0;1121:2;1101:18;;;1094:30;1160:34;1140:18;;;1133:62;-1:-1:-1;;;1211:18:4;;;1204:36;1257:19;;2161:73:0::1;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;719:10:1;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;1489:2:4;1414:68:0;;;1471:21:4;;;1508:18;;;1501:30;1567:34;1547:18;;;1540:62;1619:18;;1414:68:0;1287:356:4;2433:187:0;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;196:180:4:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:4;;196:180;-1:-1:-1;196:180:4:o;589:286::-;648:6;701:2;689:9;680:7;676:23;672:32;669:52;;;717:1;714;707:12;669:52;743:23;;-1:-1:-1;;;;;795:31:4;;785:42;;775:70;;841:1;838;831:12;775:70;864:5;589:286;-1:-1:-1;;;589:286:4:o", - "language": "Solidity", - "natspec": { - "kind": "dev", - "methods": { - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "offset": [ - 111, - 419 - ], - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH2 0x80 CALLDATASIZE PUSH1 0x4 PUSH2 0x23C JUMP JUMPDEST PUSH2 0xBD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x85 PUSH2 0x100 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x69 JUMP JUMPDEST PUSH2 0x85 PUSH2 0xB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x255 JUMP JUMPDEST PUSH2 0x114 JUMP JUMPDEST PUSH2 0xC5 PUSH2 0x192 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x93FE6D397C74FDF1402A8B72E47B68512F0510D7B98A4BC4CBDF6AC7108B3C59 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x108 PUSH2 0x192 JUMP JUMPDEST PUSH2 0x112 PUSH1 0x0 PUSH2 0x1EC JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x11C PUSH2 0x192 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x186 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x18F DUP2 PUSH2 0x1EC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x112 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x17D JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x24E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x27E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBC 0xC8 DUP14 0xD1 MSIZE DUP6 DUP6 0xE2 DUP14 MULMOD 0xC 0xC0 CALLDATACOPY SELFBALANCE STATICCALL GASLIMIT PUSH29 0xEF280CDBF196875F0F8717D0A97BA064736F6C63430008110033000000 ", - "pcMap": { - "0": { - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x80" - }, - "2": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "4": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "MSTORE", - "path": "2" - }, - "5": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "CALLVALUE", - "path": "2" - }, - "6": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "7": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "ISZERO", - "path": "2" - }, - "8": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x10" - }, - "11": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "12": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x0" - }, - "14": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "15": { - "dev": "Cannot send ether to nonpayable function", - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "REVERT", - "path": "2" - }, - "16": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPDEST", - "path": "2" - }, - "17": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "POP", - "path": "2" - }, - "18": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x4" - }, - "20": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "CALLDATASIZE", - "path": "2" - }, - "21": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "LT", - "path": "2" - }, - "22": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x57" - }, - "25": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "26": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x0" - }, - "28": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "CALLDATALOAD", - "path": "2" - }, - "29": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0xE0" - }, - "31": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "SHR", - "path": "2" - }, - "32": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "33": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x2E64CEC1" - }, - "38": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "39": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x5C" - }, - "42": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "43": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "44": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x6057361D" - }, - "49": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "50": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x72" - }, - "53": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "54": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "55": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x715018A6" - }, - "60": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "61": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x87" - }, - "64": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "65": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "66": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x8DA5CB5B" - }, - "71": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "72": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x8F" - }, - "75": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "76": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "77": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0xF2FDE38B" - }, - "82": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "83": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0xAA" - }, - "86": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "87": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPDEST", - "path": "2" - }, - "88": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x0" - }, - "90": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "91": { - "first_revert": true, - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "REVERT", - "path": "2" - }, - "92": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "JUMPDEST", - "path": "2" - }, - "93": { - "fn": "Box.retrieve", - "offset": [ - 405, - 410 - ], - "op": "PUSH1", - "path": "2", - "statement": 0, - "value": "0x1" - }, - "95": { - "fn": "Box.retrieve", - "offset": [ - 405, - 410 - ], - "op": "SLOAD", - "path": "2" - }, - "96": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "98": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "MLOAD", - "path": "2" - }, - "99": { - "op": "SWAP1" - }, - "100": { - "op": "DUP2" - }, - "101": { - "op": "MSTORE" - }, - "102": { - "op": "PUSH1", - "value": "0x20" - }, - "104": { - "op": "ADD" - }, - "105": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "JUMPDEST", - "path": "2" - }, - "106": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "108": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "MLOAD", - "path": "2" - }, - "109": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "DUP1", - "path": "2" - }, - "110": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "SWAP2", - "path": "2" - }, - "111": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "SUB", - "path": "2" - }, - "112": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "SWAP1", - "path": "2" - }, - "113": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "RETURN", - "path": "2" - }, - "114": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "115": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0x85" - }, - "118": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0x80" - }, - "121": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "CALLDATASIZE", - "path": "2" - }, - "122": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH1", - "path": "2", - "value": "0x4" - }, - "124": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0x23C" - }, - "127": { - "fn": "Box.store", - "jump": "i", - "offset": [ - 212, - 332 - ], - "op": "JUMP", - "path": "2" - }, - "128": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "129": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0xBD" - }, - "132": { - "fn": "Box.store", - "jump": "i", - "offset": [ - 212, - 332 - ], - "op": "JUMP", - "path": "2" - }, - "133": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "134": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "STOP", - "path": "2" - }, - "135": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "JUMPDEST", - "path": "0" - }, - "136": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "PUSH2", - "path": "0", - "value": "0x85" - }, - "139": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "PUSH2", - "path": "0", - "value": "0x100" - }, - "142": { - "fn": "Ownable.renounceOwnership", - "jump": "i", - "offset": [ - 1831, - 1932 - ], - "op": "JUMP", - "path": "0" - }, - "143": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "JUMPDEST", - "path": "0" - }, - "144": { - "fn": "Ownable.owner", - "offset": [ - 1247, - 1254 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "146": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SLOAD", - "path": "0", - "statement": 1 - }, - "147": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "149": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "MLOAD", - "path": "0" - }, - "150": { - "op": "PUSH1", - "value": "0x1" - }, - "152": { - "op": "PUSH1", - "value": "0x1" - }, - "154": { - "op": "PUSH1", - "value": "0xA0" - }, - "156": { - "op": "SHL" - }, - "157": { - "op": "SUB" - }, - "158": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SWAP1", - "path": "0" - }, - "159": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SWAP2", - "path": "0" - }, - "160": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "AND", - "path": "0" - }, - "161": { - "op": "DUP2" - }, - "162": { - "op": "MSTORE" - }, - "163": { - "op": "PUSH1", - "value": "0x20" - }, - "165": { - "op": "ADD" - }, - "166": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "PUSH2", - "path": "0", - "value": "0x69" - }, - "169": { - "op": "JUMP" - }, - "170": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "JUMPDEST", - "path": "0" - }, - "171": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0x85" - }, - "174": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0xB8" - }, - "177": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "CALLDATASIZE", - "path": "0" - }, - "178": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "180": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0x255" - }, - "183": { - "fn": "Ownable.transferOwnership", - "jump": "i", - "offset": [ - 2081, - 2279 - ], - "op": "JUMP", - "path": "0" - }, - "184": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "JUMPDEST", - "path": "0" - }, - "185": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0x114" - }, - "188": { - "fn": "Ownable.transferOwnership", - "jump": "i", - "offset": [ - 2081, - 2279 - ], - "op": "JUMP", - "path": "0" - }, - "189": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "190": { - "offset": [ - 1094, - 1107 - ], - "op": "PUSH2", - "path": "0", - "value": "0xC5" - }, - "193": { - "offset": [ - 1094, - 1105 - ], - "op": "PUSH2", - "path": "0", - "value": "0x192" - }, - "196": { - "jump": "i", - "offset": [ - 1094, - 1107 - ], - "op": "JUMP", - "path": "0" - }, - "197": { - "fn": "Box.store", - "offset": [ - 1094, - 1107 - ], - "op": "JUMPDEST", - "path": "0" - }, - "198": { - "fn": "Box.store", - "offset": [ - 272, - 277 - ], - "op": "PUSH1", - "path": "2", - "statement": 2, - "value": "0x1" - }, - "200": { - "fn": "Box.store", - "offset": [ - 272, - 288 - ], - "op": "DUP2", - "path": "2" - }, - "201": { - "fn": "Box.store", - "offset": [ - 272, - 288 - ], - "op": "SWAP1", - "path": "2" - }, - "202": { - "fn": "Box.store", - "offset": [ - 272, - 288 - ], - "op": "SSTORE", - "path": "2" - }, - "203": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "PUSH1", - "path": "2", - "statement": 3, - "value": "0x40" - }, - "205": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "MLOAD", - "path": "2" - }, - "206": { - "op": "DUP2" - }, - "207": { - "op": "DUP2" - }, - "208": { - "op": "MSTORE" - }, - "209": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "PUSH32", - "path": "2", - "value": "0x93FE6D397C74FDF1402A8B72E47B68512F0510D7B98A4BC4CBDF6AC7108B3C59" - }, - "242": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SWAP1", - "path": "2" - }, - "243": { - "op": "PUSH1", - "value": "0x20" - }, - "245": { - "op": "ADD" - }, - "246": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "248": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "MLOAD", - "path": "2" - }, - "249": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "DUP1", - "path": "2" - }, - "250": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SWAP2", - "path": "2" - }, - "251": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SUB", - "path": "2" - }, - "252": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SWAP1", - "path": "2" - }, - "253": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "LOG1", - "path": "2" - }, - "254": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "POP", - "path": "2" - }, - "255": { - "fn": "Box.store", - "jump": "o", - "offset": [ - 212, - 332 - ], - "op": "JUMP", - "path": "2" - }, - "256": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "JUMPDEST", - "path": "0" - }, - "257": { - "offset": [ - 1094, - 1107 - ], - "op": "PUSH2", - "path": "0", - "value": "0x108" - }, - "260": { - "offset": [ - 1094, - 1105 - ], - "op": "PUSH2", - "path": "0", - "value": "0x192" - }, - "263": { - "jump": "i", - "offset": [ - 1094, - 1107 - ], - "op": "JUMP", - "path": "0" - }, - "264": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1094, - 1107 - ], - "op": "JUMPDEST", - "path": "0" - }, - "265": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1895, - 1925 - ], - "op": "PUSH2", - "path": "0", - "statement": 4, - "value": "0x112" - }, - "268": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1922, - 1923 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "270": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1895, - 1913 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1EC" - }, - "273": { - "fn": "Ownable.renounceOwnership", - "jump": "i", - "offset": [ - 1895, - 1925 - ], - "op": "JUMP", - "path": "0" - }, - "274": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1895, - 1925 - ], - "op": "JUMPDEST", - "path": "0" - }, - "275": { - "fn": "Ownable.renounceOwnership", - "jump": "o", - "offset": [ - 1831, - 1932 - ], - "op": "JUMP", - "path": "0" - }, - "276": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "JUMPDEST", - "path": "0" - }, - "277": { - "offset": [ - 1094, - 1107 - ], - "op": "PUSH2", - "path": "0", - "value": "0x11C" - }, - "280": { - "offset": [ - 1094, - 1105 - ], - "op": "PUSH2", - "path": "0", - "value": "0x192" - }, - "283": { - "jump": "i", - "offset": [ - 1094, - 1107 - ], - "op": "JUMP", - "path": "0" - }, - "284": { - "fn": "Ownable.transferOwnership", - "offset": [ - 1094, - 1107 - ], - "op": "JUMPDEST", - "path": "0" - }, - "285": { - "op": "PUSH1", - "value": "0x1" - }, - "287": { - "op": "PUSH1", - "value": "0x1" - }, - "289": { - "op": "PUSH1", - "value": "0xA0" - }, - "291": { - "op": "SHL" - }, - "292": { - "op": "SUB" - }, - "293": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2169, - 2191 - ], - "op": "DUP2", - "path": "0", - "statement": 5 - }, - "294": { - "branch": 11, - "fn": "Ownable.transferOwnership", - "offset": [ - 2169, - 2191 - ], - "op": "AND", - "path": "0" - }, - "295": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH2", - "path": "0", - "value": "0x186" - }, - "298": { - "branch": 11, - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "JUMPI", - "path": "0" - }, - "299": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "301": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "MLOAD", - "path": "0" - }, - "302": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "306": { - "op": "PUSH1", - "value": "0xE5" - }, - "308": { - "op": "SHL" - }, - "309": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "DUP2", - "path": "0" - }, - "310": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "MSTORE", - "path": "0" - }, - "311": { - "op": "PUSH1", - "value": "0x20" - }, - "313": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "315": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "DUP3", - "path": "0" - }, - "316": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "ADD", - "path": "0" - }, - "317": { - "op": "MSTORE" - }, - "318": { - "op": "PUSH1", - "value": "0x26" - }, - "320": { - "op": "PUSH1", - "value": "0x24" - }, - "322": { - "op": "DUP3" - }, - "323": { - "op": "ADD" - }, - "324": { - "op": "MSTORE" - }, - "325": { - "op": "PUSH32", - "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" - }, - "358": { - "op": "PUSH1", - "value": "0x44" - }, - "360": { - "op": "DUP3" - }, - "361": { - "op": "ADD" - }, - "362": { - "op": "MSTORE" - }, - "363": { - "op": "PUSH6", - "value": "0x646472657373" - }, - "370": { - "op": "PUSH1", - "value": "0xD0" - }, - "372": { - "op": "SHL" - }, - "373": { - "op": "PUSH1", - "value": "0x64" - }, - "375": { - "op": "DUP3" - }, - "376": { - "op": "ADD" - }, - "377": { - "op": "MSTORE" - }, - "378": { - "op": "PUSH1", - "value": "0x84" - }, - "380": { - "op": "ADD" - }, - "381": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "JUMPDEST", - "path": "0" - }, - "382": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "384": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "MLOAD", - "path": "0" - }, - "385": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "DUP1", - "path": "0" - }, - "386": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "SWAP2", - "path": "0" - }, - "387": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "SUB", - "path": "0" - }, - "388": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "SWAP1", - "path": "0" - }, - "389": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "REVERT", - "optimizer_revert": true, - "path": "0" - }, - "390": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "JUMPDEST", - "path": "0" - }, - "391": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2244, - 2272 - ], - "op": "PUSH2", - "path": "0", - "statement": 6, - "value": "0x18F" - }, - "394": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2263, - 2271 - ], - "op": "DUP2", - "path": "0" - }, - "395": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2244, - 2262 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1EC" - }, - "398": { - "fn": "Ownable.transferOwnership", - "jump": "i", - "offset": [ - 2244, - 2272 - ], - "op": "JUMP", - "path": "0" - }, - "399": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2244, - 2272 - ], - "op": "JUMPDEST", - "path": "0" - }, - "400": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "POP", - "path": "0" - }, - "401": { - "fn": "Ownable.transferOwnership", - "jump": "o", - "offset": [ - 2081, - 2279 - ], - "op": "JUMP", - "path": "0" - }, - "402": { - "fn": "Ownable._checkOwner", - "offset": [ - 1359, - 1489 - ], - "op": "JUMPDEST", - "path": "0" - }, - "403": { - "fn": "Ownable.owner", - "offset": [ - 1247, - 1254 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "405": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SLOAD", - "path": "0" - }, - "406": { - "op": "PUSH1", - "value": "0x1" - }, - "408": { - "op": "PUSH1", - "value": "0x1" - }, - "410": { - "op": "PUSH1", - "value": "0xA0" - }, - "412": { - "op": "SHL" - }, - "413": { - "op": "SUB" - }, - "414": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "AND", - "path": "0" - }, - "415": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "1", - "statement": 7 - }, - "416": { - "branch": 12, - "fn": "Ownable._checkOwner", - "offset": [ - 1422, - 1445 - ], - "op": "EQ", - "path": "0", - "statement": 8 - }, - "417": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH2", - "path": "0", - "value": "0x112" - }, - "420": { - "branch": 12, - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "JUMPI", - "path": "0" - }, - "421": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "423": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "MLOAD", - "path": "0" - }, - "424": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "428": { - "op": "PUSH1", - "value": "0xE5" - }, - "430": { - "op": "SHL" - }, - "431": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "DUP2", - "path": "0" - }, - "432": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "MSTORE", - "path": "0" - }, - "433": { - "op": "PUSH1", - "value": "0x20" - }, - "435": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "437": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "DUP3", - "path": "0" - }, - "438": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "ADD", - "path": "0" - }, - "439": { - "op": "DUP2" - }, - "440": { - "op": "SWAP1" - }, - "441": { - "op": "MSTORE" - }, - "442": { - "op": "PUSH1", - "value": "0x24" - }, - "444": { - "op": "DUP3" - }, - "445": { - "op": "ADD" - }, - "446": { - "op": "MSTORE" - }, - "447": { - "op": "PUSH32", - "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" - }, - "480": { - "op": "PUSH1", - "value": "0x44" - }, - "482": { - "op": "DUP3" - }, - "483": { - "op": "ADD" - }, - "484": { - "op": "MSTORE" - }, - "485": { - "op": "PUSH1", - "value": "0x64" - }, - "487": { - "op": "ADD" - }, - "488": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH2", - "path": "0", - "value": "0x17D" - }, - "491": { - "op": "JUMP" - }, - "492": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2433, - 2620 - ], - "op": "JUMPDEST", - "path": "0" - }, - "493": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2506, - 2522 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "495": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "DUP1", - "path": "0" - }, - "496": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SLOAD", - "path": "0" - }, - "497": { - "op": "PUSH1", - "value": "0x1" - }, - "499": { - "op": "PUSH1", - "value": "0x1" - }, - "501": { - "op": "PUSH1", - "value": "0xA0" - }, - "503": { - "op": "SHL" - }, - "504": { - "op": "SUB" - }, - "505": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP4", - "path": "0", - "statement": 9 - }, - "506": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP2", - "path": "0" - }, - "507": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "AND", - "path": "0" - }, - "508": { - "op": "PUSH1", - "value": "0x1" - }, - "510": { - "op": "PUSH1", - "value": "0x1" - }, - "512": { - "op": "PUSH1", - "value": "0xA0" - }, - "514": { - "op": "SHL" - }, - "515": { - "op": "SUB" - }, - "516": { - "op": "NOT" - }, - "517": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP4", - "path": "0" - }, - "518": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "AND", - "path": "0" - }, - "519": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP2", - "path": "0" - }, - "520": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "OR", - "path": "0" - }, - "521": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP5", - "path": "0" - }, - "522": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "SSTORE", - "path": "0" - }, - "523": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "PUSH1", - "path": "0", - "statement": 10, - "value": "0x40" - }, - "525": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "MLOAD", - "path": "0" - }, - "526": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP2", - "path": "0" - }, - "527": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP1", - "path": "0" - }, - "528": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP3", - "path": "0" - }, - "529": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "AND", - "path": "0" - }, - "530": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP3", - "path": "0" - }, - "531": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "DUP4", - "path": "0" - }, - "532": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP2", - "path": "0" - }, - "533": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "PUSH32", - "path": "0", - "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" - }, - "566": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "SWAP2", - "path": "0" - }, - "567": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2506, - 2522 - ], - "op": "SWAP1", - "path": "0" - }, - "568": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "LOG3", - "path": "0" - }, - "569": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2496, - 2620 - ], - "op": "POP", - "path": "0" - }, - "570": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2433, - 2620 - ], - "op": "POP", - "path": "0" - }, - "571": { - "fn": "Ownable._transferOwnership", - "jump": "o", - "offset": [ - 2433, - 2620 - ], - "op": "JUMP", - "path": "0" - }, - "572": { - "op": "JUMPDEST" - }, - "573": { - "op": "PUSH1", - "value": "0x0" - }, - "575": { - "op": "PUSH1", - "value": "0x20" - }, - "577": { - "op": "DUP3" - }, - "578": { - "op": "DUP5" - }, - "579": { - "op": "SUB" - }, - "580": { - "op": "SLT" - }, - "581": { - "op": "ISZERO" - }, - "582": { - "op": "PUSH2", - "value": "0x24E" - }, - "585": { - "op": "JUMPI" - }, - "586": { - "op": "PUSH1", - "value": "0x0" - }, - "588": { - "op": "DUP1" - }, - "589": { - "op": "REVERT" - }, - "590": { - "op": "JUMPDEST" - }, - "591": { - "op": "POP" - }, - "592": { - "op": "CALLDATALOAD" - }, - "593": { - "op": "SWAP2" - }, - "594": { - "op": "SWAP1" - }, - "595": { - "op": "POP" - }, - "596": { - "jump": "o", - "op": "JUMP" - }, - "597": { - "op": "JUMPDEST" - }, - "598": { - "op": "PUSH1", - "value": "0x0" - }, - "600": { - "op": "PUSH1", - "value": "0x20" - }, - "602": { - "op": "DUP3" - }, - "603": { - "op": "DUP5" - }, - "604": { - "op": "SUB" - }, - "605": { - "op": "SLT" - }, - "606": { - "op": "ISZERO" - }, - "607": { - "op": "PUSH2", - "value": "0x267" - }, - "610": { - "op": "JUMPI" - }, - "611": { - "op": "PUSH1", - "value": "0x0" - }, - "613": { - "op": "DUP1" - }, - "614": { - "op": "REVERT" - }, - "615": { - "op": "JUMPDEST" - }, - "616": { - "op": "DUP2" - }, - "617": { - "op": "CALLDATALOAD" - }, - "618": { - "op": "PUSH1", - "value": "0x1" - }, - "620": { - "op": "PUSH1", - "value": "0x1" - }, - "622": { - "op": "PUSH1", - "value": "0xA0" - }, - "624": { - "op": "SHL" - }, - "625": { - "op": "SUB" - }, - "626": { - "op": "DUP2" - }, - "627": { - "op": "AND" - }, - "628": { - "op": "DUP2" - }, - "629": { - "op": "EQ" - }, - "630": { - "op": "PUSH2", - "value": "0x27E" - }, - "633": { - "op": "JUMPI" - }, - "634": { - "op": "PUSH1", - "value": "0x0" - }, - "636": { - "op": "DUP1" - }, - "637": { - "op": "REVERT" - }, - "638": { - "op": "JUMPDEST" - }, - "639": { - "op": "SWAP4" - }, - "640": { - "op": "SWAP3" - }, - "641": { - "op": "POP" - }, - "642": { - "op": "POP" - }, - "643": { - "op": "POP" - }, - "644": { - "jump": "o", - "op": "JUMP" - } - }, - "sha1": "41fdd4e8f838481493e8bc53aeeb70c0a916bb13", - "source": "//SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.7;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract Box is Ownable {\n uint256 private value;\n\n event ValueChanged(uint256 newValue);\n\n function store(uint256 newValue) public onlyOwner {\n value = newValue;\n emit ValueChanged(newValue);\n }\n\n function retrieve() public view returns (uint256) {\n return value;\n }\n}\n", - "sourceMap": "111:308:2:-:0;;;;;;;;;;;;-1:-1:-1;936:32:0;719:10:1;936:18:0;:32::i;:::-;111:308:2;;2433:187:0;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;111:308:2:-;;;;;;;", - "sourcePath": "contracts/Box.sol", - "type": "contract" - } \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/GovernanceToken.json b/context/contracts/chain-info/contracts/GovernanceToken.json deleted file mode 100644 index e4778b6a..00000000 --- a/context/contracts/chain-info/contracts/GovernanceToken.json +++ /dev/null @@ -1,716 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_keepPercentage", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fromDelegate", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "toDelegate", - "type": "address" - } - ], - "name": "DelegateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousBalance", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newBalance", - "type": "uint256" - } - ], - "name": "DelegateVotesChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenBurned", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenMinted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint32", - "name": "pos", - "type": "uint32" - } - ], - "name": "checkpoints", - "outputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "fromBlock", - "type": "uint32" - }, - { - "internalType": "uint224", - "name": "votes", - "type": "uint224" - } - ], - "internalType": "struct ERC20Votes.Checkpoint", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "name": "delegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "delegateBySig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "delegates", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getHolderLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastTotalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numCheckpoints", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "s_claimedTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "s_holders", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/TimeLock.json b/context/contracts/chain-info/contracts/TimeLock.json deleted file mode 100644 index 9662a632..00000000 --- a/context/contracts/chain-info/contracts/TimeLock.json +++ /dev/null @@ -1,872 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "uint256", - "name": "minDelay", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "proposers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "executors", - "type": "address[]" - }, - { - "internalType": "address", - "name": "admin", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "CallExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "CallScheduled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "Cancelled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldDuration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "MinDelayChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "CANCELLER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXECUTOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PROPOSER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TIMELOCK_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "cancel", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "executeBatch", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getMinDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "hashOperation", - "outputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "hashOperationBatch", - "outputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperation", - "outputs": [ - { - "internalType": "bool", - "name": "registered", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationDone", - "outputs": [ - { - "internalType": "bool", - "name": "done", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationPending", - "outputs": [ - { - "internalType": "bool", - "name": "pending", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationReady", - "outputs": [ - { - "internalType": "bool", - "name": "ready", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "schedule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "scheduleBatch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newDelay", - "type": "uint256" - } - ], - "name": "updateDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/AccessControl.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/AccessControl.json deleted file mode 100644 index e491f316..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/AccessControl.json +++ /dev/null @@ -1,4242 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "allSourcePaths": { - "0": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/AccessControl.sol", - "1": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/IAccessControl.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/AccessControl.sol", - "exportedSymbols": { - "AccessControl": [ - 10786 - ], - "Context": [ - 4207 - ], - "ERC165": [ - 4960 - ], - "IAccessControl": [ - 11556 - ], - "IERC165": [ - 10295 - ], - "Math": [ - 10283 - ], - "Strings": [ - 10470 - ] - }, - "id": 10787, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10472, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "108:23:0" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/IAccessControl.sol", - "file": "./IAccessControl.sol", - "id": 10473, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 11557, - "src": "133:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 10474, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 4208, - "src": "164:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "file": "../utils/Strings.sol", - "id": 10475, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 10471, - "src": "195:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "file": "../utils/introspection/ERC165.sol", - "id": 10476, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 10787, - "sourceUnit": 4961, - "src": "226:43:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 10478, - "name": "Context", - "nameLocations": [ - "1841:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4207, - "src": "1841:7:0" - }, - "id": 10479, - "nodeType": "InheritanceSpecifier", - "src": "1841:7:0" - }, - { - "baseName": { - "id": 10480, - "name": "IAccessControl", - "nameLocations": [ - "1850:14:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11556, - "src": "1850:14:0" - }, - "id": 10481, - "nodeType": "InheritanceSpecifier", - "src": "1850:14:0" - }, - { - "baseName": { - "id": 10482, - "name": "ERC165", - "nameLocations": [ - "1866:6:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4960, - "src": "1866:6:0" - }, - "id": 10483, - "nodeType": "InheritanceSpecifier", - "src": "1866:6:0" - } - ], - "canonicalName": "AccessControl", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 10477, - "nodeType": "StructuredDocumentation", - "src": "271:1534:0", - "text": " @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it." - }, - "fullyImplemented": true, - "id": 10786, - "linearizedBaseContracts": [ - 10786, - 4960, - 10295, - 11556, - 4207 - ], - "name": "AccessControl", - "nameLocation": "1824:13:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "AccessControl.RoleData", - "id": 10490, - "members": [ - { - "constant": false, - "id": 10487, - "mutability": "mutable", - "name": "members", - "nameLocation": "1930:7:0", - "nodeType": "VariableDeclaration", - "scope": 10490, - "src": "1905:32:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 10486, - "keyType": { - "id": 10484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1913:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1905:24:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 10485, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1924:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10489, - "mutability": "mutable", - "name": "adminRole", - "nameLocation": "1955:9:0", - "nodeType": "VariableDeclaration", - "scope": 10490, - "src": "1947:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10488, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1947:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "name": "RoleData", - "nameLocation": "1886:8:0", - "nodeType": "StructDefinition", - "scope": 10786, - "src": "1879:92:0", - "visibility": "public" - }, - { - "constant": false, - "id": 10495, - "mutability": "mutable", - "name": "_roles", - "nameLocation": "2014:6:0", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "1977:43:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$10490_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" - }, - "typeName": { - "id": 10494, - "keyType": { - "id": 10491, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1985:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1977:28:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$10490_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" - }, - "valueType": { - "id": 10493, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 10492, - "name": "RoleData", - "nameLocations": [ - "1996:8:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10490, - "src": "1996:8:0" - }, - "referencedDeclaration": 10490, - "src": "1996:8:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$10490_storage_ptr", - "typeString": "struct AccessControl.RoleData" - } - } - }, - "visibility": "private" - }, - { - "constant": true, - "functionSelector": "a217fddf", - "id": 10498, - "mutability": "constant", - "name": "DEFAULT_ADMIN_ROLE", - "nameLocation": "2051:18:0", - "nodeType": "VariableDeclaration", - "scope": 10786, - "src": "2027:49:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10496, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2027:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "30783030", - "id": 10497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2072:4:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x00" - }, - "visibility": "public" - }, - { - "body": { - "id": 10508, - "nodeType": "Block", - "src": "2495:44:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10504, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10501, - "src": "2516:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10503, - "name": "_checkRole", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10563, - 10602 - ], - "referencedDeclaration": 10563, - "src": "2505:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) view" - } - }, - "id": 10505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2505:16:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10506, - "nodeType": "ExpressionStatement", - "src": "2505:16:0" - }, - { - "id": 10507, - "nodeType": "PlaceholderStatement", - "src": "2531:1:0" - } - ] - }, - "documentation": { - "id": 10499, - "nodeType": "StructuredDocumentation", - "src": "2083:375:0", - "text": " @dev Modifier that checks that an account has a specific role. Reverts\n with a standardized message including the required role.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n _Available since v4.1._" - }, - "id": 10509, - "name": "onlyRole", - "nameLocation": "2472:8:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 10502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10501, - "mutability": "mutable", - "name": "role", - "nameLocation": "2489:4:0", - "nodeType": "VariableDeclaration", - "scope": 10509, - "src": "2481:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10500, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2481:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2480:14:0" - }, - "src": "2463:76:0", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 4959 - ], - "body": { - "id": 10530, - "nodeType": "Block", - "src": "2697:111:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 10528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 10523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10518, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10512, - "src": "2714:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 10520, - "name": "IAccessControl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11556, - "src": "2734:14:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$11556_$", - "typeString": "type(contract IAccessControl)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$11556_$", - "typeString": "type(contract IAccessControl)" - } - ], - "id": 10519, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "2729:4:0", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 10521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2729:20:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IAccessControl_$11556", - "typeString": "type(contract IAccessControl)" - } - }, - "id": 10522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2750:11:0", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "2729:32:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2714:47:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 10526, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10512, - "src": "2789:11:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 10524, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2765:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_AccessControl_$10786_$", - "typeString": "type(contract super AccessControl)" - } - }, - "id": 10525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2771:17:0", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 4959, - "src": "2765:23:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 10527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2765:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2714:87:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10517, - "id": 10529, - "nodeType": "Return", - "src": "2707:94:0" - } - ] - }, - "documentation": { - "id": 10510, - "nodeType": "StructuredDocumentation", - "src": "2545:56:0", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 10531, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "2615:17:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10514, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2673:8:0" - }, - "parameters": { - "id": 10513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10512, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "2640:11:0", - "nodeType": "VariableDeclaration", - "scope": 10531, - "src": "2633:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 10511, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2633:6:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "2632:20:0" - }, - "returnParameters": { - "id": 10517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10516, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10531, - "src": "2691:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10515, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2691:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2690:6:0" - }, - "scope": 10786, - "src": "2606:202:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11523 - ], - "body": { - "id": 10549, - "nodeType": "Block", - "src": "2987:53:0", - "statements": [ - { - "expression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 10542, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10495, - "src": "3004:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$10490_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 10544, - "indexExpression": { - "id": 10543, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10534, - "src": "3011:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3004:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$10490_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 10545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3017:7:0", - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 10487, - "src": "3004:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 10547, - "indexExpression": { - "id": 10546, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10536, - "src": "3025:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3004:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10541, - "id": 10548, - "nodeType": "Return", - "src": "2997:36:0" - } - ] - }, - "documentation": { - "id": 10532, - "nodeType": "StructuredDocumentation", - "src": "2814:76:0", - "text": " @dev Returns `true` if `account` has been granted `role`." - }, - "functionSelector": "91d14854", - "id": 10550, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "hasRole", - "nameLocation": "2904:7:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10538, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2963:8:0" - }, - "parameters": { - "id": 10537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10534, - "mutability": "mutable", - "name": "role", - "nameLocation": "2920:4:0", - "nodeType": "VariableDeclaration", - "scope": 10550, - "src": "2912:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10533, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2912:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10536, - "mutability": "mutable", - "name": "account", - "nameLocation": "2934:7:0", - "nodeType": "VariableDeclaration", - "scope": 10550, - "src": "2926:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10535, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2926:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2911:31:0" - }, - "returnParameters": { - "id": 10541, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10540, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10550, - "src": "2981:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10539, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2981:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2980:6:0" - }, - "scope": 10786, - "src": "2895:145:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 10562, - "nodeType": "Block", - "src": "3390:47:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10557, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10553, - "src": "3411:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10558, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "3417:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3417:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10556, - "name": "_checkRole", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10563, - 10602 - ], - "referencedDeclaration": 10602, - "src": "3400:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) view" - } - }, - "id": 10560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3400:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10561, - "nodeType": "ExpressionStatement", - "src": "3400:30:0" - } - ] - }, - "documentation": { - "id": 10551, - "nodeType": "StructuredDocumentation", - "src": "3046:283:0", - "text": " @dev Revert with a standard message if `_msgSender()` is missing `role`.\n Overriding this function changes the behavior of the {onlyRole} modifier.\n Format of the revert message is described in {_checkRole}.\n _Available since v4.6._" - }, - "id": 10563, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkRole", - "nameLocation": "3343:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10553, - "mutability": "mutable", - "name": "role", - "nameLocation": "3362:4:0", - "nodeType": "VariableDeclaration", - "scope": 10563, - "src": "3354:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10552, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3354:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3353:14:0" - }, - "returnParameters": { - "id": 10555, - "nodeType": "ParameterList", - "parameters": [], - "src": "3390:0:0" - }, - "scope": 10786, - "src": "3334:103:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10601, - "nodeType": "Block", - "src": "3791:406:0", - "statements": [ - { - "condition": { - "id": 10575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3805:23:0", - "subExpression": { - "arguments": [ - { - "id": 10572, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "3814:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10573, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10568, - "src": "3820:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10571, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10550, - "src": "3806:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 10574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3806:22:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10600, - "nodeType": "IfStatement", - "src": "3801:390:0", - "trueBody": { - "id": 10599, - "nodeType": "Block", - "src": "3830:361:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", - "id": 10581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3938:25:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", - "typeString": "literal_string \"AccessControl: account \"" - }, - "value": "AccessControl: account " - }, - { - "arguments": [ - { - "id": 10584, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10568, - "src": "4009:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 10582, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10470, - "src": "3989:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$10470_$", - "typeString": "type(library Strings)" - } - }, - "id": 10583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3997:11:0", - "memberName": "toHexString", - "nodeType": "MemberAccess", - "referencedDeclaration": 10469, - "src": "3989:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$", - "typeString": "function (address) pure returns (string memory)" - } - }, - "id": 10585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3989:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "206973206d697373696e6720726f6c6520", - "id": 10586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4043:19:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "typeString": "literal_string \" is missing role \"" - }, - "value": " is missing role " - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 10591, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "4116:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4108:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4108:7:0", - "typeDescriptions": {} - } - }, - "id": 10592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4108:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "3332", - "id": 10593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4123:2:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - } - ], - "expression": { - "id": 10587, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10470, - "src": "4088:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$10470_$", - "typeString": "type(library Strings)" - } - }, - "id": 10588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4096:11:0", - "memberName": "toHexString", - "nodeType": "MemberAccess", - "referencedDeclaration": 10449, - "src": "4088:19:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 10594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4088:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", - "typeString": "literal_string \"AccessControl: account \"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "typeString": "literal_string \" is missing role \"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 10579, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3896:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 10580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3900:12:0", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3896:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 10595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3896:252:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 10578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3868:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 10577, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3868:6:0", - "typeDescriptions": {} - } - }, - "id": 10596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3868:298:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 10576, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "3844:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 10597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3844:336:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10598, - "nodeType": "ExpressionStatement", - "src": "3844:336:0" - } - ] - } - } - ] - }, - "documentation": { - "id": 10564, - "nodeType": "StructuredDocumentation", - "src": "3443:270:0", - "text": " @dev Revert with a standard message if `account` is missing `role`.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/" - }, - "id": 10602, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkRole", - "nameLocation": "3727:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10566, - "mutability": "mutable", - "name": "role", - "nameLocation": "3746:4:0", - "nodeType": "VariableDeclaration", - "scope": 10602, - "src": "3738:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10565, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3738:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10568, - "mutability": "mutable", - "name": "account", - "nameLocation": "3760:7:0", - "nodeType": "VariableDeclaration", - "scope": 10602, - "src": "3752:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3752:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3737:31:0" - }, - "returnParameters": { - "id": 10570, - "nodeType": "ParameterList", - "parameters": [], - "src": "3791:0:0" - }, - "scope": 10786, - "src": "3718:479:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 11531 - ], - "body": { - "id": 10616, - "nodeType": "Block", - "src": "4461:46:0", - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 10611, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10495, - "src": "4478:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$10490_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 10613, - "indexExpression": { - "id": 10612, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10605, - "src": "4485:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4478:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$10490_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 10614, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4491:9:0", - "memberName": "adminRole", - "nodeType": "MemberAccess", - "referencedDeclaration": 10489, - "src": "4478:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10610, - "id": 10615, - "nodeType": "Return", - "src": "4471:29:0" - } - ] - }, - "documentation": { - "id": 10603, - "nodeType": "StructuredDocumentation", - "src": "4203:170:0", - "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}." - }, - "functionSelector": "248a9ca3", - "id": 10617, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRoleAdmin", - "nameLocation": "4387:12:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10607, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4434:8:0" - }, - "parameters": { - "id": 10606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10605, - "mutability": "mutable", - "name": "role", - "nameLocation": "4408:4:0", - "nodeType": "VariableDeclaration", - "scope": 10617, - "src": "4400:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10604, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4400:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4399:14:0" - }, - "returnParameters": { - "id": 10610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10609, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10617, - "src": "4452:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10608, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4452:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4451:9:0" - }, - "scope": 10786, - "src": "4378:129:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11539 - ], - "body": { - "id": 10636, - "nodeType": "Block", - "src": "4906:42:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10632, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10620, - "src": "4927:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10633, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10622, - "src": "4933:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10631, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10754, - "src": "4916:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 10634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4916:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10635, - "nodeType": "ExpressionStatement", - "src": "4916:25:0" - } - ] - }, - "documentation": { - "id": 10618, - "nodeType": "StructuredDocumentation", - "src": "4513:285:0", - "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleGranted} event." - }, - "functionSelector": "2f2ff15d", - "id": 10637, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 10627, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10620, - "src": "4899:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10626, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10617, - "src": "4886:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 10628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4886:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10629, - "kind": "modifierInvocation", - "modifierName": { - "id": 10625, - "name": "onlyRole", - "nameLocations": [ - "4877:8:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10509, - "src": "4877:8:0" - }, - "nodeType": "ModifierInvocation", - "src": "4877:28:0" - } - ], - "name": "grantRole", - "nameLocation": "4812:9:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10624, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4868:8:0" - }, - "parameters": { - "id": 10623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10620, - "mutability": "mutable", - "name": "role", - "nameLocation": "4830:4:0", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "4822:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10619, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4822:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10622, - "mutability": "mutable", - "name": "account", - "nameLocation": "4844:7:0", - "nodeType": "VariableDeclaration", - "scope": 10637, - "src": "4836:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4836:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4821:31:0" - }, - "returnParameters": { - "id": 10630, - "nodeType": "ParameterList", - "parameters": [], - "src": "4906:0:0" - }, - "scope": 10786, - "src": "4803:145:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11547 - ], - "body": { - "id": 10656, - "nodeType": "Block", - "src": "5332:43:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10652, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10640, - "src": "5354:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10653, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "5360:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10651, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10785, - "src": "5342:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 10654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5342:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10655, - "nodeType": "ExpressionStatement", - "src": "5342:26:0" - } - ] - }, - "documentation": { - "id": 10638, - "nodeType": "StructuredDocumentation", - "src": "4954:269:0", - "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleRevoked} event." - }, - "functionSelector": "d547741f", - "id": 10657, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 10647, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10640, - "src": "5325:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10646, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10617, - "src": "5312:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 10648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5312:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 10649, - "kind": "modifierInvocation", - "modifierName": { - "id": 10645, - "name": "onlyRole", - "nameLocations": [ - "5303:8:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10509, - "src": "5303:8:0" - }, - "nodeType": "ModifierInvocation", - "src": "5303:28:0" - } - ], - "name": "revokeRole", - "nameLocation": "5237:10:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10644, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5294:8:0" - }, - "parameters": { - "id": 10643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10640, - "mutability": "mutable", - "name": "role", - "nameLocation": "5256:4:0", - "nodeType": "VariableDeclaration", - "scope": 10657, - "src": "5248:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10639, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5248:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10642, - "mutability": "mutable", - "name": "account", - "nameLocation": "5270:7:0", - "nodeType": "VariableDeclaration", - "scope": 10657, - "src": "5262:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10641, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5262:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5247:31:0" - }, - "returnParameters": { - "id": 10650, - "nodeType": "ParameterList", - "parameters": [], - "src": "5332:0:0" - }, - "scope": 10786, - "src": "5228:147:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11555 - ], - "body": { - "id": 10679, - "nodeType": "Block", - "src": "5989:137:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 10670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10667, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10662, - "src": "6007:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10668, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "6018:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6018:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6007:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66", - "id": 10671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6032:49:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", - "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" - }, - "value": "AccessControl: can only renounce roles for self" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", - "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" - } - ], - "id": 10666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5999:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5999:83:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10673, - "nodeType": "ExpressionStatement", - "src": "5999:83:0" - }, - { - "expression": { - "arguments": [ - { - "id": 10675, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10660, - "src": "6105:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10676, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10662, - "src": "6111:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10674, - "name": "_revokeRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10785, - "src": "6093:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 10677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6093:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10678, - "nodeType": "ExpressionStatement", - "src": "6093:26:0" - } - ] - }, - "documentation": { - "id": 10658, - "nodeType": "StructuredDocumentation", - "src": "5381:526:0", - "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`.\n May emit a {RoleRevoked} event." - }, - "functionSelector": "36568abe", - "id": 10680, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "renounceRole", - "nameLocation": "5921:12:0", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10664, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5980:8:0" - }, - "parameters": { - "id": 10663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10660, - "mutability": "mutable", - "name": "role", - "nameLocation": "5942:4:0", - "nodeType": "VariableDeclaration", - "scope": 10680, - "src": "5934:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10659, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5934:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10662, - "mutability": "mutable", - "name": "account", - "nameLocation": "5956:7:0", - "nodeType": "VariableDeclaration", - "scope": 10680, - "src": "5948:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10661, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5948:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5933:31:0" - }, - "returnParameters": { - "id": 10665, - "nodeType": "ParameterList", - "parameters": [], - "src": "5989:0:0" - }, - "scope": 10786, - "src": "5912:214:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 10693, - "nodeType": "Block", - "src": "6879:42:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10689, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10683, - "src": "6900:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10690, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10685, - "src": "6906:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10688, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10754, - "src": "6889:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 10691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6889:25:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10692, - "nodeType": "ExpressionStatement", - "src": "6889:25:0" - } - ] - }, - "documentation": { - "id": 10681, - "nodeType": "StructuredDocumentation", - "src": "6132:674:0", - "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event. Note that unlike {grantRole}, this function doesn't perform any\n checks on the calling account.\n May emit a {RoleGranted} event.\n [WARNING]\n ====\n This function should only be called from the constructor when setting\n up the initial roles for the system.\n Using this function in any other way is effectively circumventing the admin\n system imposed by {AccessControl}.\n ====\n NOTE: This function is deprecated in favor of {_grantRole}." - }, - "id": 10694, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setupRole", - "nameLocation": "6820:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10686, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10683, - "mutability": "mutable", - "name": "role", - "nameLocation": "6839:4:0", - "nodeType": "VariableDeclaration", - "scope": 10694, - "src": "6831:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10682, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6831:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10685, - "mutability": "mutable", - "name": "account", - "nameLocation": "6853:7:0", - "nodeType": "VariableDeclaration", - "scope": 10694, - "src": "6845:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6845:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6830:31:0" - }, - "returnParameters": { - "id": 10687, - "nodeType": "ParameterList", - "parameters": [], - "src": "6879:0:0" - }, - "scope": 10786, - "src": "6811:110:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10721, - "nodeType": "Block", - "src": "7119:174:0", - "statements": [ - { - "assignments": [ - 10703 - ], - "declarations": [ - { - "constant": false, - "id": 10703, - "mutability": "mutable", - "name": "previousAdminRole", - "nameLocation": "7137:17:0", - "nodeType": "VariableDeclaration", - "scope": 10721, - "src": "7129:25:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10702, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7129:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 10707, - "initialValue": { - "arguments": [ - { - "id": 10705, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10697, - "src": "7170:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10704, - "name": "getRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10617, - "src": "7157:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 10706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7157:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7129:46:0" - }, - { - "expression": { - "id": 10713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 10708, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10495, - "src": "7185:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$10490_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 10710, - "indexExpression": { - "id": 10709, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10697, - "src": "7192:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7185:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$10490_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 10711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "7198:9:0", - "memberName": "adminRole", - "nodeType": "MemberAccess", - "referencedDeclaration": 10489, - "src": "7185:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 10712, - "name": "adminRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10699, - "src": "7210:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "7185:34:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10714, - "nodeType": "ExpressionStatement", - "src": "7185:34:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 10716, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10697, - "src": "7251:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10717, - "name": "previousAdminRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10703, - "src": "7257:17:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10718, - "name": "adminRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10699, - "src": "7276:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10715, - "name": "RoleAdminChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11495, - "src": "7234:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32,bytes32)" - } - }, - "id": 10719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7234:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10720, - "nodeType": "EmitStatement", - "src": "7229:57:0" - } - ] - }, - "documentation": { - "id": 10695, - "nodeType": "StructuredDocumentation", - "src": "6927:114:0", - "text": " @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event." - }, - "id": 10722, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setRoleAdmin", - "nameLocation": "7055:13:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10700, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10697, - "mutability": "mutable", - "name": "role", - "nameLocation": "7077:4:0", - "nodeType": "VariableDeclaration", - "scope": 10722, - "src": "7069:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10696, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7069:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10699, - "mutability": "mutable", - "name": "adminRole", - "nameLocation": "7091:9:0", - "nodeType": "VariableDeclaration", - "scope": 10722, - "src": "7083:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10698, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7083:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7068:33:0" - }, - "returnParameters": { - "id": 10701, - "nodeType": "ParameterList", - "parameters": [], - "src": "7119:0:0" - }, - "scope": 10786, - "src": "7046:247:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10753, - "nodeType": "Block", - "src": "7529:165:0", - "statements": [ - { - "condition": { - "id": 10734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "7543:23:0", - "subExpression": { - "arguments": [ - { - "id": 10731, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "7552:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10732, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10727, - "src": "7558:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10730, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10550, - "src": "7544:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 10733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7544:22:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10752, - "nodeType": "IfStatement", - "src": "7539:149:0", - "trueBody": { - "id": 10751, - "nodeType": "Block", - "src": "7568:120:0", - "statements": [ - { - "expression": { - "id": 10742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 10735, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10495, - "src": "7582:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$10490_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 10737, - "indexExpression": { - "id": 10736, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "7589:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7582:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$10490_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 10738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7595:7:0", - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 10487, - "src": "7582:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 10740, - "indexExpression": { - "id": 10739, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10727, - "src": "7603:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7582:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 10741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7614:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7582:36:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10743, - "nodeType": "ExpressionStatement", - "src": "7582:36:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 10745, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10725, - "src": "7649:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10746, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10727, - "src": "7655:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10747, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "7664:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7664:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10744, - "name": "RoleGranted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11504, - "src": "7637:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 10749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7637:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10750, - "nodeType": "EmitStatement", - "src": "7632:45:0" - } - ] - } - } - ] - }, - "documentation": { - "id": 10723, - "nodeType": "StructuredDocumentation", - "src": "7299:157:0", - "text": " @dev Grants `role` to `account`.\n Internal function without access restriction.\n May emit a {RoleGranted} event." - }, - "id": 10754, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_grantRole", - "nameLocation": "7470:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10725, - "mutability": "mutable", - "name": "role", - "nameLocation": "7489:4:0", - "nodeType": "VariableDeclaration", - "scope": 10754, - "src": "7481:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10724, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7481:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10727, - "mutability": "mutable", - "name": "account", - "nameLocation": "7503:7:0", - "nodeType": "VariableDeclaration", - "scope": 10754, - "src": "7495:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7495:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7480:31:0" - }, - "returnParameters": { - "id": 10729, - "nodeType": "ParameterList", - "parameters": [], - "src": "7529:0:0" - }, - "scope": 10786, - "src": "7461:233:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10784, - "nodeType": "Block", - "src": "7934:165:0", - "statements": [ - { - "condition": { - "arguments": [ - { - "id": 10763, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "7956:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10764, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10759, - "src": "7962:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10762, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10550, - "src": "7948:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 10765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7948:22:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10783, - "nodeType": "IfStatement", - "src": "7944:149:0", - "trueBody": { - "id": 10782, - "nodeType": "Block", - "src": "7972:121:0", - "statements": [ - { - "expression": { - "id": 10773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 10766, - "name": "_roles", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10495, - "src": "7986:6:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$10490_storage_$", - "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" - } - }, - "id": 10768, - "indexExpression": { - "id": 10767, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "7993:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7986:12:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$10490_storage", - "typeString": "struct AccessControl.RoleData storage ref" - } - }, - "id": 10769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7999:7:0", - "memberName": "members", - "nodeType": "MemberAccess", - "referencedDeclaration": 10487, - "src": "7986:20:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 10771, - "indexExpression": { - "id": 10770, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10759, - "src": "8007:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7986:29:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 10772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8018:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "7986:37:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10774, - "nodeType": "ExpressionStatement", - "src": "7986:37:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 10776, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10757, - "src": "8054:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 10777, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10759, - "src": "8060:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10778, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "8069:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8069:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10775, - "name": "RoleRevoked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11513, - "src": "8042:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", - "typeString": "function (bytes32,address,address)" - } - }, - "id": 10780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8042:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10781, - "nodeType": "EmitStatement", - "src": "8037:45:0" - } - ] - } - } - ] - }, - "documentation": { - "id": 10755, - "nodeType": "StructuredDocumentation", - "src": "7700:160:0", - "text": " @dev Revokes `role` from `account`.\n Internal function without access restriction.\n May emit a {RoleRevoked} event." - }, - "id": 10785, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revokeRole", - "nameLocation": "7874:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10757, - "mutability": "mutable", - "name": "role", - "nameLocation": "7894:4:0", - "nodeType": "VariableDeclaration", - "scope": 10785, - "src": "7886:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10756, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7886:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10759, - "mutability": "mutable", - "name": "account", - "nameLocation": "7908:7:0", - "nodeType": "VariableDeclaration", - "scope": 10785, - "src": "7900:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7900:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7885:31:0" - }, - "returnParameters": { - "id": 10761, - "nodeType": "ParameterList", - "parameters": [], - "src": "7934:0:0" - }, - "scope": 10786, - "src": "7865:234:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 10787, - "src": "1806:6295:0", - "usedErrors": [] - } - ], - "src": "108:7994:0" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "AccessControl", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IAccessControl", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Strings" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ``` bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ``` function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it.", - "kind": "dev", - "methods": { - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - } - }, - "version": 1 - }, - "offset": [ - 1806, - 8101 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "d1b98c816b89db61d1c037dfe644583cccdd65be", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\n * Overriding this function changes the behavior of the {onlyRole} modifier.\n *\n * Format of the revert message is described in {_checkRole}.\n *\n * _Available since v4.6._\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(account),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * May emit a {RoleGranted} event.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/AccessControl.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Context.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Context.json deleted file mode 100644 index 54a7d97a..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Context.json +++ /dev/null @@ -1,282 +0,0 @@ -{ - "abi": [], - "allSourcePaths": { - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 4207 - ] - }, - "id": 4208, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4187, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:22" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Context", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 4188, - "nodeType": "StructuredDocumentation", - "src": "111:496:22", - "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." - }, - "fullyImplemented": true, - "id": 4207, - "linearizedBaseContracts": [ - 4207 - ], - "name": "Context", - "nameLocation": "626:7:22", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4196, - "nodeType": "Block", - "src": "702:34:22", - "statements": [ - { - "expression": { - "expression": { - "id": 4193, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "719:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "723:6:22", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "719:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4192, - "id": 4195, - "nodeType": "Return", - "src": "712:17:22" - } - ] - }, - "id": 4197, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nameLocation": "649:10:22", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4189, - "nodeType": "ParameterList", - "parameters": [], - "src": "659:2:22" - }, - "returnParameters": { - "id": 4192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4191, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4197, - "src": "693:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "692:9:22" - }, - "scope": 4207, - "src": "640:96:22", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 4205, - "nodeType": "Block", - "src": "809:32:22", - "statements": [ - { - "expression": { - "expression": { - "id": 4202, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "826:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "830:4:22", - "memberName": "data", - "nodeType": "MemberAccess", - "src": "826:8:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 4201, - "id": 4204, - "nodeType": "Return", - "src": "819:15:22" - } - ] - }, - "id": 4206, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nameLocation": "751:8:22", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4198, - "nodeType": "ParameterList", - "parameters": [], - "src": "759:2:22" - }, - "returnParameters": { - "id": 4201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4200, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4206, - "src": "793:14:22", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4199, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "793:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "792:16:22" - }, - "scope": 4207, - "src": "742:99:22", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 4208, - "src": "608:235:22", - "usedErrors": [] - } - ], - "src": "86:758:22" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "Context", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "offset": [ - 608, - 843 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "719844505df30bda93516e78eab1ced3bfe9ff4a", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ECDSA.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ECDSA.json deleted file mode 100644 index a459c629..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ECDSA.json +++ /dev/null @@ -1,4999 +0,0 @@ -{ - "abi": [], - "allSourcePaths": { - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "26": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "exportedSymbols": { - "ECDSA": [ - 4782 - ], - "Math": [ - 10283 - ], - "Strings": [ - 10470 - ] - }, - "id": 4783, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4423, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "112:23:26" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "file": "../Strings.sol", - "id": 4424, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4783, - "sourceUnit": 10471, - "src": "137:24:26", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "ECDSA", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 4425, - "nodeType": "StructuredDocumentation", - "src": "163:205:26", - "text": " @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address." - }, - "fullyImplemented": true, - "id": 4782, - "linearizedBaseContracts": [ - 4782 - ], - "name": "ECDSA", - "nameLocation": "377:5:26", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "ECDSA.RecoverError", - "id": 4431, - "members": [ - { - "id": 4426, - "name": "NoError", - "nameLocation": "417:7:26", - "nodeType": "EnumValue", - "src": "417:7:26" - }, - { - "id": 4427, - "name": "InvalidSignature", - "nameLocation": "434:16:26", - "nodeType": "EnumValue", - "src": "434:16:26" - }, - { - "id": 4428, - "name": "InvalidSignatureLength", - "nameLocation": "460:22:26", - "nodeType": "EnumValue", - "src": "460:22:26" - }, - { - "id": 4429, - "name": "InvalidSignatureS", - "nameLocation": "492:17:26", - "nodeType": "EnumValue", - "src": "492:17:26" - }, - { - "id": 4430, - "name": "InvalidSignatureV", - "nameLocation": "519:17:26", - "nodeType": "EnumValue", - "src": "519:17:26" - } - ], - "name": "RecoverError", - "nameLocation": "394:12:26", - "nodeType": "EnumDefinition", - "src": "389:175:26" - }, - { - "body": { - "id": 4474, - "nodeType": "Block", - "src": "624:457:26", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "id": 4440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4437, - "name": "error", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4434, - "src": "638:5:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 4438, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "647:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "660:7:26", - "memberName": "NoError", - "nodeType": "MemberAccess", - "referencedDeclaration": 4426, - "src": "647:20:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "src": "638:29:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "id": 4446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4443, - "name": "error", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4434, - "src": "734:5:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 4444, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "743:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "756:16:26", - "memberName": "InvalidSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": 4427, - "src": "743:29:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "src": "734:38:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "id": 4455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4452, - "name": "error", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4434, - "src": "843:5:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 4453, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "852:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "865:22:26", - "memberName": "InvalidSignatureLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 4428, - "src": "852:35:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "src": "843:44:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "id": 4464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4461, - "name": "error", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4434, - "src": "965:5:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 4462, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "974:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "987:17:26", - "memberName": "InvalidSignatureS", - "nodeType": "MemberAccess", - "referencedDeclaration": 4429, - "src": "974:30:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "src": "965:39:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4470, - "nodeType": "IfStatement", - "src": "961:114:26", - "trueBody": { - "id": 4469, - "nodeType": "Block", - "src": "1006:69:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c7565", - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1027:36:26", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", - "typeString": "literal_string \"ECDSA: invalid signature 's' value\"" - }, - "value": "ECDSA: invalid signature 's' value" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd", - "typeString": "literal_string \"ECDSA: invalid signature 's' value\"" - } - ], - "id": 4465, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1020:6:26", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 4467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1020:44:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4468, - "nodeType": "ExpressionStatement", - "src": "1020:44:26" - } - ] - } - }, - "id": 4471, - "nodeType": "IfStatement", - "src": "839:236:26", - "trueBody": { - "id": 4460, - "nodeType": "Block", - "src": "889:66:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", - "id": 4457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "910:33:26", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", - "typeString": "literal_string \"ECDSA: invalid signature length\"" - }, - "value": "ECDSA: invalid signature length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77", - "typeString": "literal_string \"ECDSA: invalid signature length\"" - } - ], - "id": 4456, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "903:6:26", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 4458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "903:41:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4459, - "nodeType": "ExpressionStatement", - "src": "903:41:26" - } - ] - } - }, - "id": 4472, - "nodeType": "IfStatement", - "src": "730:345:26", - "trueBody": { - "id": 4451, - "nodeType": "Block", - "src": "774:59:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "45434453413a20696e76616c6964207369676e6174757265", - "id": 4448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "795:26:26", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", - "typeString": "literal_string \"ECDSA: invalid signature\"" - }, - "value": "ECDSA: invalid signature" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be", - "typeString": "literal_string \"ECDSA: invalid signature\"" - } - ], - "id": 4447, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "788:6:26", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 4449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "788:34:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4450, - "nodeType": "ExpressionStatement", - "src": "788:34:26" - } - ] - } - }, - "id": 4473, - "nodeType": "IfStatement", - "src": "634:441:26", - "trueBody": { - "id": 4442, - "nodeType": "Block", - "src": "669:55:26", - "statements": [ - { - "functionReturnParameters": 4436, - "id": 4441, - "nodeType": "Return", - "src": "683:7:26" - } - ] - } - } - ] - }, - "id": 4475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_throwError", - "nameLocation": "579:11:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4434, - "mutability": "mutable", - "name": "error", - "nameLocation": "604:5:26", - "nodeType": "VariableDeclaration", - "scope": 4475, - "src": "591:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "typeName": { - "id": 4433, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4432, - "name": "RecoverError", - "nameLocations": [ - "591:12:26" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4431, - "src": "591:12:26" - }, - "referencedDeclaration": 4431, - "src": "591:12:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "visibility": "internal" - } - ], - "src": "590:20:26" - }, - "returnParameters": { - "id": 4436, - "nodeType": "ParameterList", - "parameters": [], - "src": "624:0:26" - }, - "scope": 4782, - "src": "570:511:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 4520, - "nodeType": "Block", - "src": "2249:626:26", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4488, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4480, - "src": "2263:9:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2273:6:26", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2263:16:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "3635", - "id": 4490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2283:2:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "src": "2263:22:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4518, - "nodeType": "Block", - "src": "2788:81:26", - "statements": [ - { - "expression": { - "components": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 4512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2818:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2810:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2810:7:26", - "typeDescriptions": {} - } - }, - "id": 4513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2810:10:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4514, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "2822:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2835:22:26", - "memberName": "InvalidSignatureLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 4428, - "src": "2822:35:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - } - ], - "id": 4516, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2809:49:26", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "functionReturnParameters": 4487, - "id": 4517, - "nodeType": "Return", - "src": "2802:56:26" - } - ] - }, - "id": 4519, - "nodeType": "IfStatement", - "src": "2259:610:26", - "trueBody": { - "id": 4509, - "nodeType": "Block", - "src": "2287:495:26", - "statements": [ - { - "assignments": [ - 4493 - ], - "declarations": [ - { - "constant": false, - "id": 4493, - "mutability": "mutable", - "name": "r", - "nameLocation": "2309:1:26", - "nodeType": "VariableDeclaration", - "scope": 4509, - "src": "2301:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4492, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2301:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 4494, - "nodeType": "VariableDeclarationStatement", - "src": "2301:9:26" - }, - { - "assignments": [ - 4496 - ], - "declarations": [ - { - "constant": false, - "id": 4496, - "mutability": "mutable", - "name": "s", - "nameLocation": "2332:1:26", - "nodeType": "VariableDeclaration", - "scope": 4509, - "src": "2324:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4495, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2324:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 4497, - "nodeType": "VariableDeclarationStatement", - "src": "2324:9:26" - }, - { - "assignments": [ - 4499 - ], - "declarations": [ - { - "constant": false, - "id": 4499, - "mutability": "mutable", - "name": "v", - "nameLocation": "2353:1:26", - "nodeType": "VariableDeclaration", - "scope": 4509, - "src": "2347:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4498, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2347:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 4500, - "nodeType": "VariableDeclarationStatement", - "src": "2347:7:26" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "2555:171:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2573:32:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "signature", - "nodeType": "YulIdentifier", - "src": "2588:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2599:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2584:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "2584:20:26" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2578:5:26" - }, - "nodeType": "YulFunctionCall", - "src": "2578:27:26" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "2573:1:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2622:32:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "signature", - "nodeType": "YulIdentifier", - "src": "2637:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2648:4:26", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2633:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "2633:20:26" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2627:5:26" - }, - "nodeType": "YulFunctionCall", - "src": "2627:27:26" - }, - "variableNames": [ - { - "name": "s", - "nodeType": "YulIdentifier", - "src": "2622:1:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2671:41:26", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2681:1:26", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "signature", - "nodeType": "YulIdentifier", - "src": "2694:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2705:4:26", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2690:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "2690:20:26" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2684:5:26" - }, - "nodeType": "YulFunctionCall", - "src": "2684:27:26" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "2676:4:26" - }, - "nodeType": "YulFunctionCall", - "src": "2676:36:26" - }, - "variableNames": [ - { - "name": "v", - "nodeType": "YulIdentifier", - "src": "2671:1:26" - } - ] - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 4493, - "isOffset": false, - "isSlot": false, - "src": "2573:1:26", - "valueSize": 1 - }, - { - "declaration": 4496, - "isOffset": false, - "isSlot": false, - "src": "2622:1:26", - "valueSize": 1 - }, - { - "declaration": 4480, - "isOffset": false, - "isSlot": false, - "src": "2588:9:26", - "valueSize": 1 - }, - { - "declaration": 4480, - "isOffset": false, - "isSlot": false, - "src": "2637:9:26", - "valueSize": 1 - }, - { - "declaration": 4480, - "isOffset": false, - "isSlot": false, - "src": "2694:9:26", - "valueSize": 1 - }, - { - "declaration": 4499, - "isOffset": false, - "isSlot": false, - "src": "2671:1:26", - "valueSize": 1 - } - ], - "id": 4501, - "nodeType": "InlineAssembly", - "src": "2546:180:26" - }, - { - "expression": { - "arguments": [ - { - "id": 4503, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4478, - "src": "2757:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4504, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4499, - "src": "2763:1:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 4505, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4493, - "src": "2766:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4506, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4496, - "src": "2769:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4502, - "name": "tryRecover", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4521, - 4595, - 4689 - ], - "referencedDeclaration": 4689, - "src": "2746:10:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)" - } - }, - "id": 4507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2746:25:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "functionReturnParameters": 4487, - "id": 4508, - "nodeType": "Return", - "src": "2739:32:26" - } - ] - } - } - ] - }, - "documentation": { - "id": 4476, - "nodeType": "StructuredDocumentation", - "src": "1087:1053:26", - "text": " @dev Returns the address that signed a hashed message (`hash`) with\n `signature` or error string. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n _Available since v4.3._" - }, - "id": 4521, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryRecover", - "nameLocation": "2154:10:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4478, - "mutability": "mutable", - "name": "hash", - "nameLocation": "2173:4:26", - "nodeType": "VariableDeclaration", - "scope": 4521, - "src": "2165:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4477, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2165:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4480, - "mutability": "mutable", - "name": "signature", - "nameLocation": "2192:9:26", - "nodeType": "VariableDeclaration", - "scope": 4521, - "src": "2179:22:26", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4479, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2179:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "2164:38:26" - }, - "returnParameters": { - "id": 4487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4483, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4521, - "src": "2226:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2226:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4486, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4521, - "src": "2235:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "typeName": { - "id": 4485, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4484, - "name": "RecoverError", - "nameLocations": [ - "2235:12:26" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4431, - "src": "2235:12:26" - }, - "referencedDeclaration": 4431, - "src": "2235:12:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "visibility": "internal" - } - ], - "src": "2225:23:26" - }, - "scope": 4782, - "src": "2145:730:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4547, - "nodeType": "Block", - "src": "3748:140:26", - "statements": [ - { - "assignments": [ - 4532, - 4535 - ], - "declarations": [ - { - "constant": false, - "id": 4532, - "mutability": "mutable", - "name": "recovered", - "nameLocation": "3767:9:26", - "nodeType": "VariableDeclaration", - "scope": 4547, - "src": "3759:17:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3759:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4535, - "mutability": "mutable", - "name": "error", - "nameLocation": "3791:5:26", - "nodeType": "VariableDeclaration", - "scope": 4547, - "src": "3778:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "typeName": { - "id": 4534, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4533, - "name": "RecoverError", - "nameLocations": [ - "3778:12:26" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4431, - "src": "3778:12:26" - }, - "referencedDeclaration": 4431, - "src": "3778:12:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "visibility": "internal" - } - ], - "id": 4540, - "initialValue": { - "arguments": [ - { - "id": 4537, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4524, - "src": "3811:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4538, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4526, - "src": "3817:9:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4536, - "name": "tryRecover", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4521, - 4595, - 4689 - ], - "referencedDeclaration": 4521, - "src": "3800:10:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError)" - } - }, - "id": 4539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3800:27:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3758:69:26" - }, - { - "expression": { - "arguments": [ - { - "id": 4542, - "name": "error", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4535, - "src": "3849:5:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - ], - "id": 4541, - "name": "_throwError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4475, - "src": "3837:11:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_RecoverError_$4431_$returns$__$", - "typeString": "function (enum ECDSA.RecoverError) pure" - } - }, - "id": 4543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3837:18:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4544, - "nodeType": "ExpressionStatement", - "src": "3837:18:26" - }, - { - "expression": { - "id": 4545, - "name": "recovered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4532, - "src": "3872:9:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4530, - "id": 4546, - "nodeType": "Return", - "src": "3865:16:26" - } - ] - }, - "documentation": { - "id": 4522, - "nodeType": "StructuredDocumentation", - "src": "2881:775:26", - "text": " @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it." - }, - "id": 4548, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recover", - "nameLocation": "3670:7:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4524, - "mutability": "mutable", - "name": "hash", - "nameLocation": "3686:4:26", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3678:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4523, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3678:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4526, - "mutability": "mutable", - "name": "signature", - "nameLocation": "3705:9:26", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3692:22:26", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4525, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3692:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3677:38:26" - }, - "returnParameters": { - "id": 4530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4529, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4548, - "src": "3739:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3739:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3738:9:26" - }, - "scope": 4782, - "src": "3661:227:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4594, - "nodeType": "Block", - "src": "4275:203:26", - "statements": [ - { - "assignments": [ - 4564 - ], - "declarations": [ - { - "constant": false, - "id": 4564, - "mutability": "mutable", - "name": "s", - "nameLocation": "4293:1:26", - "nodeType": "VariableDeclaration", - "scope": 4594, - "src": "4285:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4563, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4285:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 4571, - "initialValue": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4565, - "name": "vs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4555, - "src": "4297:2:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "arguments": [ - { - "hexValue": "307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666", - "id": 4568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4310:66:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1", - "typeString": "int_const 5789...(69 digits omitted)...9967" - }, - "value": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1", - "typeString": "int_const 5789...(69 digits omitted)...9967" - } - ], - "id": 4567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4302:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 4566, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4302:7:26", - "typeDescriptions": {} - } - }, - "id": 4569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4302:75:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4297:80:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4285:92:26" - }, - { - "assignments": [ - 4573 - ], - "declarations": [ - { - "constant": false, - "id": 4573, - "mutability": "mutable", - "name": "v", - "nameLocation": "4393:1:26", - "nodeType": "VariableDeclaration", - "scope": 4594, - "src": "4387:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4572, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4387:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 4586, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 4578, - "name": "vs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4555, - "src": "4412:2:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4404:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4404:7:26", - "typeDescriptions": {} - } - }, - "id": 4579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4404:11:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "323535", - "id": 4580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4419:3:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_255_by_1", - "typeString": "int_const 255" - }, - "value": "255" - }, - "src": "4404:18:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4582, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4403:20:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "3237", - "id": 4583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4426:2:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "4403:25:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4397:5:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 4574, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "4397:5:26", - "typeDescriptions": {} - } - }, - "id": 4585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4397:32:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4387:42:26" - }, - { - "expression": { - "arguments": [ - { - "id": 4588, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4551, - "src": "4457:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4589, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4573, - "src": "4463:1:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 4590, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4553, - "src": "4466:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4591, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4564, - "src": "4469:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4587, - "name": "tryRecover", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4521, - 4595, - 4689 - ], - "referencedDeclaration": 4689, - "src": "4446:10:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)" - } - }, - "id": 4592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4446:25:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "functionReturnParameters": 4562, - "id": 4593, - "nodeType": "Return", - "src": "4439:32:26" - } - ] - }, - "documentation": { - "id": 4549, - "nodeType": "StructuredDocumentation", - "src": "3894:243:26", - "text": " @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n _Available since v4.3._" - }, - "id": 4595, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryRecover", - "nameLocation": "4151:10:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4551, - "mutability": "mutable", - "name": "hash", - "nameLocation": "4179:4:26", - "nodeType": "VariableDeclaration", - "scope": 4595, - "src": "4171:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4550, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4171:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4553, - "mutability": "mutable", - "name": "r", - "nameLocation": "4201:1:26", - "nodeType": "VariableDeclaration", - "scope": 4595, - "src": "4193:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4552, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4193:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4555, - "mutability": "mutable", - "name": "vs", - "nameLocation": "4220:2:26", - "nodeType": "VariableDeclaration", - "scope": 4595, - "src": "4212:10:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4554, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4212:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4161:67:26" - }, - "returnParameters": { - "id": 4562, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4558, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4595, - "src": "4252:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4557, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4252:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4561, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4595, - "src": "4261:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "typeName": { - "id": 4560, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4559, - "name": "RecoverError", - "nameLocations": [ - "4261:12:26" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4431, - "src": "4261:12:26" - }, - "referencedDeclaration": 4431, - "src": "4261:12:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "visibility": "internal" - } - ], - "src": "4251:23:26" - }, - "scope": 4782, - "src": "4142:336:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4624, - "nodeType": "Block", - "src": "4759:136:26", - "statements": [ - { - "assignments": [ - 4608, - 4611 - ], - "declarations": [ - { - "constant": false, - "id": 4608, - "mutability": "mutable", - "name": "recovered", - "nameLocation": "4778:9:26", - "nodeType": "VariableDeclaration", - "scope": 4624, - "src": "4770:17:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4770:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4611, - "mutability": "mutable", - "name": "error", - "nameLocation": "4802:5:26", - "nodeType": "VariableDeclaration", - "scope": 4624, - "src": "4789:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "typeName": { - "id": 4610, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4609, - "name": "RecoverError", - "nameLocations": [ - "4789:12:26" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4431, - "src": "4789:12:26" - }, - "referencedDeclaration": 4431, - "src": "4789:12:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "visibility": "internal" - } - ], - "id": 4617, - "initialValue": { - "arguments": [ - { - "id": 4613, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4598, - "src": "4822:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4614, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4600, - "src": "4828:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4615, - "name": "vs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4602, - "src": "4831:2:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4612, - "name": "tryRecover", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4521, - 4595, - 4689 - ], - "referencedDeclaration": 4595, - "src": "4811:10:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)" - } - }, - "id": 4616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4811:23:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4769:65:26" - }, - { - "expression": { - "arguments": [ - { - "id": 4619, - "name": "error", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4611, - "src": "4856:5:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - ], - "id": 4618, - "name": "_throwError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4475, - "src": "4844:11:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_RecoverError_$4431_$returns$__$", - "typeString": "function (enum ECDSA.RecoverError) pure" - } - }, - "id": 4620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4844:18:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4621, - "nodeType": "ExpressionStatement", - "src": "4844:18:26" - }, - { - "expression": { - "id": 4622, - "name": "recovered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4608, - "src": "4879:9:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4606, - "id": 4623, - "nodeType": "Return", - "src": "4872:16:26" - } - ] - }, - "documentation": { - "id": 4596, - "nodeType": "StructuredDocumentation", - "src": "4484:154:26", - "text": " @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n _Available since v4.2._" - }, - "id": 4625, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recover", - "nameLocation": "4652:7:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4603, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4598, - "mutability": "mutable", - "name": "hash", - "nameLocation": "4677:4:26", - "nodeType": "VariableDeclaration", - "scope": 4625, - "src": "4669:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4597, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4669:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4600, - "mutability": "mutable", - "name": "r", - "nameLocation": "4699:1:26", - "nodeType": "VariableDeclaration", - "scope": 4625, - "src": "4691:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4599, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4691:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4602, - "mutability": "mutable", - "name": "vs", - "nameLocation": "4718:2:26", - "nodeType": "VariableDeclaration", - "scope": 4625, - "src": "4710:10:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4601, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4710:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4659:67:26" - }, - "returnParameters": { - "id": 4606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4605, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4625, - "src": "4750:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4750:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4749:9:26" - }, - "scope": 4782, - "src": "4643:252:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4688, - "nodeType": "Block", - "src": "5218:1345:26", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 4644, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4634, - "src": "6114:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6106:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6106:7:26", - "typeDescriptions": {} - } - }, - "id": 4645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6106:10:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130", - "id": 4646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6119:66:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1", - "typeString": "int_const 5789...(69 digits omitted)...7168" - }, - "value": "0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0" - }, - "src": "6106:79:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4657, - "nodeType": "IfStatement", - "src": "6102:161:26", - "trueBody": { - "id": 4656, - "nodeType": "Block", - "src": "6187:76:26", - "statements": [ - { - "expression": { - "components": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 4650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6217:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6209:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6209:7:26", - "typeDescriptions": {} - } - }, - "id": 4651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6209:10:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4652, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "6221:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6234:17:26", - "memberName": "InvalidSignatureS", - "nodeType": "MemberAccess", - "referencedDeclaration": 4429, - "src": "6221:30:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - } - ], - "id": 4654, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6208:44:26", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "functionReturnParameters": 4641, - "id": 4655, - "nodeType": "Return", - "src": "6201:51:26" - } - ] - } - }, - { - "assignments": [ - 4659 - ], - "declarations": [ - { - "constant": false, - "id": 4659, - "mutability": "mutable", - "name": "signer", - "nameLocation": "6365:6:26", - "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "6357:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4658, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6357:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 4666, - "initialValue": { - "arguments": [ - { - "id": 4661, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4628, - "src": "6384:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4662, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4630, - "src": "6390:1:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 4663, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4632, - "src": "6393:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4664, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4634, - "src": "6396:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4660, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "6374:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 4665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6374:24:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6357:41:26" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4667, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4659, - "src": "6412:6:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 4670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6430:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6422:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6422:7:26", - "typeDescriptions": {} - } - }, - "id": 4671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6422:10:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6412:20:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4682, - "nodeType": "IfStatement", - "src": "6408:101:26", - "trueBody": { - "id": 4681, - "nodeType": "Block", - "src": "6434:75:26", - "statements": [ - { - "expression": { - "components": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 4675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6464:1:26", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6456:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4673, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6456:7:26", - "typeDescriptions": {} - } - }, - "id": 4676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6456:10:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4677, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "6468:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6481:16:26", - "memberName": "InvalidSignature", - "nodeType": "MemberAccess", - "referencedDeclaration": 4427, - "src": "6468:29:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - } - ], - "id": 4679, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6455:43:26", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "functionReturnParameters": 4641, - "id": 4680, - "nodeType": "Return", - "src": "6448:50:26" - } - ] - } - }, - { - "expression": { - "components": [ - { - "id": 4683, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4659, - "src": "6527:6:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4684, - "name": "RecoverError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4431, - "src": "6535:12:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RecoverError_$4431_$", - "typeString": "type(enum ECDSA.RecoverError)" - } - }, - "id": 4685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6548:7:26", - "memberName": "NoError", - "nodeType": "MemberAccess", - "referencedDeclaration": 4426, - "src": "6535:20:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - } - ], - "id": 4686, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6526:30:26", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "functionReturnParameters": 4641, - "id": 4687, - "nodeType": "Return", - "src": "6519:37:26" - } - ] - }, - "documentation": { - "id": 4626, - "nodeType": "StructuredDocumentation", - "src": "4901:163:26", - "text": " @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately.\n _Available since v4.3._" - }, - "id": 4689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryRecover", - "nameLocation": "5078:10:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4628, - "mutability": "mutable", - "name": "hash", - "nameLocation": "5106:4:26", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5098:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4627, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5098:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4630, - "mutability": "mutable", - "name": "v", - "nameLocation": "5126:1:26", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5120:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4629, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5120:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4632, - "mutability": "mutable", - "name": "r", - "nameLocation": "5145:1:26", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5137:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4631, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5137:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4634, - "mutability": "mutable", - "name": "s", - "nameLocation": "5164:1:26", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5156:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4633, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5156:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5088:83:26" - }, - "returnParameters": { - "id": 4641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4637, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5195:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4636, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5195:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4640, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4689, - "src": "5204:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "typeName": { - "id": 4639, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4638, - "name": "RecoverError", - "nameLocations": [ - "5204:12:26" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4431, - "src": "5204:12:26" - }, - "referencedDeclaration": 4431, - "src": "5204:12:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "visibility": "internal" - } - ], - "src": "5194:23:26" - }, - "scope": 4782, - "src": "5069:1494:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4721, - "nodeType": "Block", - "src": "6828:138:26", - "statements": [ - { - "assignments": [ - 4704, - 4707 - ], - "declarations": [ - { - "constant": false, - "id": 4704, - "mutability": "mutable", - "name": "recovered", - "nameLocation": "6847:9:26", - "nodeType": "VariableDeclaration", - "scope": 4721, - "src": "6839:17:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4703, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6839:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4707, - "mutability": "mutable", - "name": "error", - "nameLocation": "6871:5:26", - "nodeType": "VariableDeclaration", - "scope": 4721, - "src": "6858:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - }, - "typeName": { - "id": 4706, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4705, - "name": "RecoverError", - "nameLocations": [ - "6858:12:26" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4431, - "src": "6858:12:26" - }, - "referencedDeclaration": 4431, - "src": "6858:12:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - }, - "visibility": "internal" - } - ], - "id": 4714, - "initialValue": { - "arguments": [ - { - "id": 4709, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "6891:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4710, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "6897:1:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 4711, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4696, - "src": "6900:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4712, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "6903:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4708, - "name": "tryRecover", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4521, - 4595, - 4689 - ], - "referencedDeclaration": 4689, - "src": "6880:10:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)" - } - }, - "id": 4713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6880:25:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$4431_$", - "typeString": "tuple(address,enum ECDSA.RecoverError)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6838:67:26" - }, - { - "expression": { - "arguments": [ - { - "id": 4716, - "name": "error", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6927:5:26", - "typeDescriptions": { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_RecoverError_$4431", - "typeString": "enum ECDSA.RecoverError" - } - ], - "id": 4715, - "name": "_throwError", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4475, - "src": "6915:11:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_enum$_RecoverError_$4431_$returns$__$", - "typeString": "function (enum ECDSA.RecoverError) pure" - } - }, - "id": 4717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6915:18:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4718, - "nodeType": "ExpressionStatement", - "src": "6915:18:26" - }, - { - "expression": { - "id": 4719, - "name": "recovered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "6950:9:26", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4702, - "id": 4720, - "nodeType": "Return", - "src": "6943:16:26" - } - ] - }, - "documentation": { - "id": 4690, - "nodeType": "StructuredDocumentation", - "src": "6569:122:26", - "text": " @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately." - }, - "id": 4722, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recover", - "nameLocation": "6705:7:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4692, - "mutability": "mutable", - "name": "hash", - "nameLocation": "6730:4:26", - "nodeType": "VariableDeclaration", - "scope": 4722, - "src": "6722:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4691, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6722:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4694, - "mutability": "mutable", - "name": "v", - "nameLocation": "6750:1:26", - "nodeType": "VariableDeclaration", - "scope": 4722, - "src": "6744:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4693, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "6744:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4696, - "mutability": "mutable", - "name": "r", - "nameLocation": "6769:1:26", - "nodeType": "VariableDeclaration", - "scope": 4722, - "src": "6761:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4695, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6761:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4698, - "mutability": "mutable", - "name": "s", - "nameLocation": "6788:1:26", - "nodeType": "VariableDeclaration", - "scope": 4722, - "src": "6780:9:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4697, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6780:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6712:83:26" - }, - "returnParameters": { - "id": 4702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4701, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4722, - "src": "6819:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4700, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6819:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6818:9:26" - }, - "scope": 4782, - "src": "6696:270:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4738, - "nodeType": "Block", - "src": "7334:187:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 4733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7472:34:26", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "id": 4734, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4725, - "src": "7508:4:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 4731, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7455:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7459:12:26", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "7455:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7455:58:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4730, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7445:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7445:69:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4729, - "id": 4737, - "nodeType": "Return", - "src": "7438:76:26" - } - ] - }, - "documentation": { - "id": 4723, - "nodeType": "StructuredDocumentation", - "src": "6972:279:26", - "text": " @dev Returns an Ethereum Signed Message, created from a `hash`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}." - }, - "id": 4739, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toEthSignedMessageHash", - "nameLocation": "7265:22:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4725, - "mutability": "mutable", - "name": "hash", - "nameLocation": "7296:4:26", - "nodeType": "VariableDeclaration", - "scope": 4739, - "src": "7288:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4724, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7288:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7287:14:26" - }, - "returnParameters": { - "id": 4729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4728, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4739, - "src": "7325:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4727, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7325:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7324:9:26" - }, - "scope": 4782, - "src": "7256:265:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4760, - "nodeType": "Block", - "src": "7886:116:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a", - "id": 4750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7930:32:26", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\"" - }, - "value": "\u0019Ethereum Signed Message:\n" - }, - { - "arguments": [ - { - "expression": { - "id": 4753, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4742, - "src": "7981:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 4754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7983:6:26", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "7981:8:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4751, - "name": "Strings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10470, - "src": "7964:7:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Strings_$10470_$", - "typeString": "type(library Strings)" - } - }, - "id": 4752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7972:8:26", - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 10353, - "src": "7964:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 4755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7964:26:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 4756, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4742, - "src": "7992:1:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 4748, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7913:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7917:12:26", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "7913:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7913:81:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4747, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7903:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7903:92:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4746, - "id": 4759, - "nodeType": "Return", - "src": "7896:99:26" - } - ] - }, - "documentation": { - "id": 4740, - "nodeType": "StructuredDocumentation", - "src": "7527:274:26", - "text": " @dev Returns an Ethereum Signed Message, created from `s`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}." - }, - "id": 4761, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toEthSignedMessageHash", - "nameLocation": "7815:22:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4742, - "mutability": "mutable", - "name": "s", - "nameLocation": "7851:1:26", - "nodeType": "VariableDeclaration", - "scope": 4761, - "src": "7838:14:26", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4741, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7838:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7837:16:26" - }, - "returnParameters": { - "id": 4746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4745, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4761, - "src": "7877:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4744, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7877:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7876:9:26" - }, - "scope": 4782, - "src": "7806:196:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4780, - "nodeType": "Block", - "src": "8443:92:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "1901", - "id": 4774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8487:10:26", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string hex\"1901\"" - }, - "value": "\u0019\u0001" - }, - { - "id": 4775, - "name": "domainSeparator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4764, - "src": "8499:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4776, - "name": "structHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4766, - "src": "8516:10:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string hex\"1901\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 4772, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "8470:3:26", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "8474:12:26", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "8470:16:26", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8470:57:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4771, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "8460:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8460:68:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4770, - "id": 4779, - "nodeType": "Return", - "src": "8453:75:26" - } - ] - }, - "documentation": { - "id": 4762, - "nodeType": "StructuredDocumentation", - "src": "8008:328:26", - "text": " @dev Returns an Ethereum Signed Typed Data, created from a\n `domainSeparator` and a `structHash`. This produces hash corresponding\n to the one signed with the\n https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n JSON-RPC method as part of EIP-712.\n See {recover}." - }, - "id": 4781, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toTypedDataHash", - "nameLocation": "8350:15:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4764, - "mutability": "mutable", - "name": "domainSeparator", - "nameLocation": "8374:15:26", - "nodeType": "VariableDeclaration", - "scope": 4781, - "src": "8366:23:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4763, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8366:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4766, - "mutability": "mutable", - "name": "structHash", - "nameLocation": "8399:10:26", - "nodeType": "VariableDeclaration", - "scope": 4781, - "src": "8391:18:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4765, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8391:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "8365:45:26" - }, - "returnParameters": { - "id": 4770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4769, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4781, - "src": "8434:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4768, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8434:7:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "8433:9:26" - }, - "scope": 4782, - "src": "8341:194:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 4783, - "src": "369:8168:26", - "usedErrors": [] - } - ], - "src": "112:8426:26" - }, - "bytecode": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202f3250513eaa503b8d80dd22c35ceb43a723ffe4ade399019595a19f8ae7ec7f64736f6c63430008110033", - "bytecodeSha1": "1ce946f6a4eaa185320328620ccf999b9e86db7c", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "ECDSA", - "coverageMap": { - "branches": { - "24": {}, - "26": {}, - "30": {} - }, - "statements": { - "24": {}, - "26": {}, - "30": {} - } - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Strings" - ], - "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202f3250513eaa503b8d80dd22c35ceb43a723ffe4ade399019595a19f8ae7ec7f64736f6c63430008110033", - "deployedSourceMap": "369:8168:26:-:0;;;;;;;;", - "language": "Solidity", - "natspec": { - "details": "Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "offset": [ - 369, - 8537 - ], - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2F ORIGIN POP MLOAD RETURNDATACOPY 0xAA POP EXTCODESIZE DUP14 DUP1 0xDD 0x22 0xC3 0x5C 0xEB NUMBER 0xA7 0x23 SELFDESTRUCT 0xE4 0xAD 0xE3 SWAP10 ADD SWAP6 SWAP6 LOG1 SWAP16 DUP11 0xE7 0xEC PUSH32 0x64736F6C63430008110033000000000000000000000000000000000000000000 ", - "pcMap": { - "0": { - "offset": [ - 369, - 8537 - ], - "op": "PUSH20", - "path": "26", - "value": "0x0" - }, - "21": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "ADDRESS", - "path": "26" - }, - "22": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "EQ", - "path": "26" - }, - "23": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "PUSH1", - "path": "26", - "value": "0x80" - }, - "25": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "PUSH1", - "path": "26", - "value": "0x40" - }, - "27": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "MSTORE", - "path": "26" - }, - "28": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "PUSH1", - "path": "26", - "value": "0x0" - }, - "30": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "DUP1", - "path": "26" - }, - "31": { - "fn": null, - "offset": [ - 369, - 8537 - ], - "op": "REVERT", - "path": "26" - } - }, - "sha1": "843d5816e66f91e31e34c6ae3feb09871f50810a", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/ECDSA.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Strings.sol\";\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS,\n InvalidSignatureV // Deprecated in v4.8\n }\n\n function _throwError(RecoverError error) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert(\"ECDSA: invalid signature\");\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert(\"ECDSA: invalid signature length\");\n } else if (error == RecoverError.InvalidSignatureS) {\n revert(\"ECDSA: invalid signature 's' value\");\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature` or error string. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength);\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, signature);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n *\n * _Available since v4.3._\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address, RecoverError) {\n bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n *\n * _Available since v4.2._\n */\n function recover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, r, vs);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n *\n * _Available since v4.3._\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address, RecoverError) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n \u00f7 2 + 1, and for v in (302): v \u2208 {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\n return (address(0), RecoverError.InvalidSignatureS);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature);\n }\n\n return (signer, RecoverError.NoError);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, v, r, s);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from a `hash`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {\n // 32 is the length in bytes of hash,\n // enforced by the type signature above\n return keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", hash));\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from `s`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n\", Strings.toString(s.length), s));\n }\n\n /**\n * @dev Returns an Ethereum Signed Typed Data, created from a\n * `domainSeparator` and a `structHash`. This produces hash corresponding\n * to the one signed with the\n * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n * JSON-RPC method as part of EIP-712.\n *\n * See {recover}.\n */\n function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19\\x01\", domainSeparator, structHash));\n }\n}\n", - "sourceMap": "369:8168:26:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;369:8168:26;;;;;;;;;;;;;;;;;", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "type": "library" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712.json deleted file mode 100644 index 47d8683f..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712.json +++ /dev/null @@ -1,2049 +0,0 @@ -{ - "abi": [], - "allSourcePaths": { - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "26": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "exportedSymbols": { - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "Math": [ - 10283 - ], - "Strings": [ - 10470 - ] - }, - "id": 4937, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4784, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "113:23:27" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "file": "./ECDSA.sol", - "id": 4785, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4937, - "sourceUnit": 4783, - "src": "138:21:27", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "EIP712", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 4786, - "nodeType": "StructuredDocumentation", - "src": "161:1142:27", - "text": " @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data.\n The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible,\n thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding\n they need in their contracts using a combination of `abi.encode` and `keccak256`.\n This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n ({_hashTypedDataV4}).\n The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n the chain id to protect against replay attacks on an eventual fork of the chain.\n NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n _Available since v3.4._" - }, - "fullyImplemented": true, - "id": 4936, - "linearizedBaseContracts": [ - 4936 - ], - "name": "EIP712", - "nameLocation": "1322:6:27", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 4788, - "mutability": "immutable", - "name": "_CACHED_DOMAIN_SEPARATOR", - "nameLocation": "1598:24:27", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "1572:50:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4787, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1572:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4790, - "mutability": "immutable", - "name": "_CACHED_CHAIN_ID", - "nameLocation": "1654:16:27", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "1628:42:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1628:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4792, - "mutability": "immutable", - "name": "_CACHED_THIS", - "nameLocation": "1702:12:27", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "1676:38:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4791, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1676:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4794, - "mutability": "immutable", - "name": "_HASHED_NAME", - "nameLocation": "1747:12:27", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "1721:38:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4793, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1721:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4796, - "mutability": "immutable", - "name": "_HASHED_VERSION", - "nameLocation": "1791:15:27", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "1765:41:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4795, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1765:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4798, - "mutability": "immutable", - "name": "_TYPE_HASH", - "nameLocation": "1838:10:27", - "nodeType": "VariableDeclaration", - "scope": 4936, - "src": "1812:36:27", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4797, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1812:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 4862, - "nodeType": "Block", - "src": "2519:547:27", - "statements": [ - { - "assignments": [ - 4807 - ], - "declarations": [ - { - "constant": false, - "id": 4807, - "mutability": "mutable", - "name": "hashedName", - "nameLocation": "2537:10:27", - "nodeType": "VariableDeclaration", - "scope": 4862, - "src": "2529:18:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4806, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2529:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 4814, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 4811, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4801, - "src": "2566:4:27", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 4810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2560:5:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 4809, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2560:5:27", - "typeDescriptions": {} - } - }, - "id": 4812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2560:11:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4808, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2550:9:27", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2550:22:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2529:43:27" - }, - { - "assignments": [ - 4816 - ], - "declarations": [ - { - "constant": false, - "id": 4816, - "mutability": "mutable", - "name": "hashedVersion", - "nameLocation": "2590:13:27", - "nodeType": "VariableDeclaration", - "scope": 4862, - "src": "2582:21:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4815, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2582:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 4823, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 4820, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4803, - "src": "2622:7:27", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 4819, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2616:5:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 4818, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2616:5:27", - "typeDescriptions": {} - } - }, - "id": 4821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2616:14:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4817, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2606:9:27", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2606:25:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2582:49:27" - }, - { - "assignments": [ - 4825 - ], - "declarations": [ - { - "constant": false, - "id": 4825, - "mutability": "mutable", - "name": "typeHash", - "nameLocation": "2649:8:27", - "nodeType": "VariableDeclaration", - "scope": 4862, - "src": "2641:16:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4824, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2641:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 4829, - "initialValue": { - "arguments": [ - { - "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "id": 4827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2683:84:27", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", - "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" - }, - "value": "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", - "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" - } - ], - "id": 4826, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2660:9:27", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2660:117:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2641:136:27" - }, - { - "expression": { - "id": 4832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4830, - "name": "_HASHED_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4794, - "src": "2787:12:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4831, - "name": "hashedName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4807, - "src": "2802:10:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2787:25:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4833, - "nodeType": "ExpressionStatement", - "src": "2787:25:27" - }, - { - "expression": { - "id": 4836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4834, - "name": "_HASHED_VERSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "2822:15:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4835, - "name": "hashedVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4816, - "src": "2840:13:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2822:31:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4837, - "nodeType": "ExpressionStatement", - "src": "2822:31:27" - }, - { - "expression": { - "id": 4841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4838, - "name": "_CACHED_CHAIN_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "2863:16:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 4839, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2882:5:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2888:7:27", - "memberName": "chainid", - "nodeType": "MemberAccess", - "src": "2882:13:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2863:32:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4842, - "nodeType": "ExpressionStatement", - "src": "2863:32:27" - }, - { - "expression": { - "id": 4849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4843, - "name": "_CACHED_DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4788, - "src": "2905:24:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4845, - "name": "typeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4825, - "src": "2954:8:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4846, - "name": "hashedName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4807, - "src": "2964:10:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4847, - "name": "hashedVersion", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4816, - "src": "2976:13:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4844, - "name": "_buildDomainSeparator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "2932:21:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,bytes32,bytes32) view returns (bytes32)" - } - }, - "id": 4848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2932:58:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2905:85:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4850, - "nodeType": "ExpressionStatement", - "src": "2905:85:27" - }, - { - "expression": { - "id": 4856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4851, - "name": "_CACHED_THIS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "3000:12:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 4854, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3023:4:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP712_$4936", - "typeString": "contract EIP712" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EIP712_$4936", - "typeString": "contract EIP712" - } - ], - "id": 4853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3015:7:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4852, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3015:7:27", - "typeDescriptions": {} - } - }, - "id": 4855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3015:13:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3000:28:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4857, - "nodeType": "ExpressionStatement", - "src": "3000:28:27" - }, - { - "expression": { - "id": 4860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4858, - "name": "_TYPE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "3038:10:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4859, - "name": "typeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4825, - "src": "3051:8:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3038:21:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 4861, - "nodeType": "ExpressionStatement", - "src": "3038:21:27" - } - ] - }, - "documentation": { - "id": 4799, - "nodeType": "StructuredDocumentation", - "src": "1900:559:27", - "text": " @dev Initializes the domain separator and parameter caches.\n The meaning of `name` and `version` is specified in\n https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]:\n - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n - `version`: the current major version of the signing domain.\n NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n contract upgrade]." - }, - "id": 4863, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4804, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4801, - "mutability": "mutable", - "name": "name", - "nameLocation": "2490:4:27", - "nodeType": "VariableDeclaration", - "scope": 4863, - "src": "2476:18:27", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4800, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2476:6:27", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4803, - "mutability": "mutable", - "name": "version", - "nameLocation": "2510:7:27", - "nodeType": "VariableDeclaration", - "scope": 4863, - "src": "2496:21:27", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4802, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2496:6:27", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2475:43:27" - }, - "returnParameters": { - "id": 4805, - "nodeType": "ParameterList", - "parameters": [], - "src": "2519:0:27" - }, - "scope": 4936, - "src": "2464:602:27", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4891, - "nodeType": "Block", - "src": "3214:246:27", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 4871, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3236:4:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP712_$4936", - "typeString": "contract EIP712" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EIP712_$4936", - "typeString": "contract EIP712" - } - ], - "id": 4870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3228:7:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4869, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3228:7:27", - "typeDescriptions": {} - } - }, - "id": 4872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3228:13:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 4873, - "name": "_CACHED_THIS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4792, - "src": "3245:12:27", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3228:29:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4875, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3261:5:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3267:7:27", - "memberName": "chainid", - "nodeType": "MemberAccess", - "src": "3261:13:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 4877, - "name": "_CACHED_CHAIN_ID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "3278:16:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3261:33:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3228:66:27", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4889, - "nodeType": "Block", - "src": "3358:96:27", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4884, - "name": "_TYPE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4798, - "src": "3401:10:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4885, - "name": "_HASHED_NAME", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4794, - "src": "3413:12:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4886, - "name": "_HASHED_VERSION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4796, - "src": "3427:15:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4883, - "name": "_buildDomainSeparator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "3379:21:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,bytes32,bytes32) view returns (bytes32)" - } - }, - "id": 4887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3379:64:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4868, - "id": 4888, - "nodeType": "Return", - "src": "3372:71:27" - } - ] - }, - "id": 4890, - "nodeType": "IfStatement", - "src": "3224:230:27", - "trueBody": { - "id": 4882, - "nodeType": "Block", - "src": "3296:56:27", - "statements": [ - { - "expression": { - "id": 4880, - "name": "_CACHED_DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4788, - "src": "3317:24:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4868, - "id": 4881, - "nodeType": "Return", - "src": "3310:31:27" - } - ] - } - } - ] - }, - "documentation": { - "id": 4864, - "nodeType": "StructuredDocumentation", - "src": "3072:75:27", - "text": " @dev Returns the domain separator for the current chain." - }, - "id": 4892, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_domainSeparatorV4", - "nameLocation": "3161:18:27", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4865, - "nodeType": "ParameterList", - "parameters": [], - "src": "3179:2:27" - }, - "returnParameters": { - "id": 4868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4867, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4892, - "src": "3205:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4866, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3205:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3204:9:27" - }, - "scope": 4936, - "src": "3152:308:27", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4918, - "nodeType": "Block", - "src": "3615:108:27", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 4906, - "name": "typeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4894, - "src": "3653:8:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4907, - "name": "nameHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4896, - "src": "3663:8:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4908, - "name": "versionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4898, - "src": "3673:11:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 4909, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3686:5:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3692:7:27", - "memberName": "chainid", - "nodeType": "MemberAccess", - "src": "3686:13:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 4913, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3709:4:27", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EIP712_$4936", - "typeString": "contract EIP712" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_EIP712_$4936", - "typeString": "contract EIP712" - } - ], - "id": 4912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3701:7:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4911, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3701:7:27", - "typeDescriptions": {} - } - }, - "id": 4914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3701:13:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 4904, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3642:3:27", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3646:6:27", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "3642:10:27", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3642:73:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4903, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3632:9:27", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3632:84:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4902, - "id": 4917, - "nodeType": "Return", - "src": "3625:91:27" - } - ] - }, - "id": 4919, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_buildDomainSeparator", - "nameLocation": "3475:21:27", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "typeHash", - "nameLocation": "3514:8:27", - "nodeType": "VariableDeclaration", - "scope": 4919, - "src": "3506:16:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4893, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3506:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4896, - "mutability": "mutable", - "name": "nameHash", - "nameLocation": "3540:8:27", - "nodeType": "VariableDeclaration", - "scope": 4919, - "src": "3532:16:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4895, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3532:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4898, - "mutability": "mutable", - "name": "versionHash", - "nameLocation": "3566:11:27", - "nodeType": "VariableDeclaration", - "scope": 4919, - "src": "3558:19:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4897, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3558:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3496:87:27" - }, - "returnParameters": { - "id": 4902, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4901, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4919, - "src": "3606:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4900, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3606:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3605:9:27" - }, - "scope": 4936, - "src": "3466:257:27", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 4934, - "nodeType": "Block", - "src": "4434:79:27", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4929, - "name": "_domainSeparatorV4", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4892, - "src": "4473:18:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 4930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4473:20:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4931, - "name": "structHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4922, - "src": "4495:10:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 4927, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4782, - "src": "4451:5:27", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ECDSA_$4782_$", - "typeString": "type(library ECDSA)" - } - }, - "id": 4928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4457:15:27", - "memberName": "toTypedDataHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 4781, - "src": "4451:21:27", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,bytes32) pure returns (bytes32)" - } - }, - "id": 4932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4451:55:27", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4926, - "id": 4933, - "nodeType": "Return", - "src": "4444:62:27" - } - ] - }, - "documentation": { - "id": 4920, - "nodeType": "StructuredDocumentation", - "src": "3729:614:27", - "text": " @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n function returns the hash of the fully encoded EIP712 message for this domain.\n This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n ```solidity\n bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n keccak256(\"Mail(address to,string contents)\"),\n mailTo,\n keccak256(bytes(mailContents))\n )));\n address signer = ECDSA.recover(digest, signature);\n ```" - }, - "id": 4935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_hashTypedDataV4", - "nameLocation": "4357:16:27", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4922, - "mutability": "mutable", - "name": "structHash", - "nameLocation": "4382:10:27", - "nodeType": "VariableDeclaration", - "scope": 4935, - "src": "4374:18:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4921, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4374:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4373:20:27" - }, - "returnParameters": { - "id": 4926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4925, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4935, - "src": "4425:7:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4924, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4425:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4424:9:27" - }, - "scope": 4936, - "src": "4348:165:27", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 4937, - "src": "1304:3211:27", - "usedErrors": [] - } - ], - "src": "113:4403:27" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "EIP712", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/ECDSA", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Strings" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data. The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible, thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in their contracts using a combination of `abi.encode` and `keccak256`. This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA ({_hashTypedDataV4}). The implementation of the domain separator was designed to be as efficient as possible while still properly updating the chain id to protect against replay attacks on an eventual fork of the chain. NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. _Available since v3.4._", - "kind": "dev", - "methods": { - "constructor": { - "details": "Initializes the domain separator and parameter caches. The meaning of `name` and `version` is specified in https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]: - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. - `version`: the current major version of the signing domain. NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart contract upgrade]." - } - }, - "version": 1 - }, - "offset": [ - 1304, - 4515 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "28c33553c2f5e6d1280d6042eba89f391523b8bc", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/EIP712.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./ECDSA.sol\";\n\n/**\n * @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data.\n *\n * The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible,\n * thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding\n * they need in their contracts using a combination of `abi.encode` and `keccak256`.\n *\n * This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n * ({_hashTypedDataV4}).\n *\n * The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n * the chain id to protect against replay attacks on an eventual fork of the chain.\n *\n * NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n *\n * _Available since v3.4._\n */\nabstract contract EIP712 {\n /* solhint-disable var-name-mixedcase */\n // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to\n // invalidate the cached domain separator if the chain id changes.\n bytes32 private immutable _CACHED_DOMAIN_SEPARATOR;\n uint256 private immutable _CACHED_CHAIN_ID;\n address private immutable _CACHED_THIS;\n\n bytes32 private immutable _HASHED_NAME;\n bytes32 private immutable _HASHED_VERSION;\n bytes32 private immutable _TYPE_HASH;\n\n /* solhint-enable var-name-mixedcase */\n\n /**\n * @dev Initializes the domain separator and parameter caches.\n *\n * The meaning of `name` and `version` is specified in\n * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]:\n *\n * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n * - `version`: the current major version of the signing domain.\n *\n * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n * contract upgrade].\n */\n constructor(string memory name, string memory version) {\n bytes32 hashedName = keccak256(bytes(name));\n bytes32 hashedVersion = keccak256(bytes(version));\n bytes32 typeHash = keccak256(\n \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"\n );\n _HASHED_NAME = hashedName;\n _HASHED_VERSION = hashedVersion;\n _CACHED_CHAIN_ID = block.chainid;\n _CACHED_DOMAIN_SEPARATOR = _buildDomainSeparator(typeHash, hashedName, hashedVersion);\n _CACHED_THIS = address(this);\n _TYPE_HASH = typeHash;\n }\n\n /**\n * @dev Returns the domain separator for the current chain.\n */\n function _domainSeparatorV4() internal view returns (bytes32) {\n if (address(this) == _CACHED_THIS && block.chainid == _CACHED_CHAIN_ID) {\n return _CACHED_DOMAIN_SEPARATOR;\n } else {\n return _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME, _HASHED_VERSION);\n }\n }\n\n function _buildDomainSeparator(\n bytes32 typeHash,\n bytes32 nameHash,\n bytes32 versionHash\n ) private view returns (bytes32) {\n return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, address(this)));\n }\n\n /**\n * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n * function returns the hash of the fully encoded EIP712 message for this domain.\n *\n * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n *\n * ```solidity\n * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n * keccak256(\"Mail(address to,string contents)\"),\n * mailTo,\n * keccak256(bytes(mailContents))\n * )));\n * address signer = ECDSA.recover(digest, signature);\n * ```\n */\n function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) {\n return ECDSA.toTypedDataHash(_domainSeparatorV4(), structHash);\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165.json deleted file mode 100644 index a8d56039..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165.json +++ /dev/null @@ -1,357 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "allSourcePaths": { - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 4960 - ], - "IERC165": [ - 10295 - ] - }, - "id": 4961, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4938, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "99:23:28" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 4939, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4961, - "sourceUnit": 10296, - "src": "124:23:28", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 4941, - "name": "IERC165", - "nameLocations": [ - "754:7:28" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10295, - "src": "754:7:28" - }, - "id": 4942, - "nodeType": "InheritanceSpecifier", - "src": "754:7:28" - } - ], - "canonicalName": "ERC165", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 4940, - "nodeType": "StructuredDocumentation", - "src": "149:576:28", - "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." - }, - "fullyImplemented": true, - "id": 4960, - "linearizedBaseContracts": [ - 4960, - 10295 - ], - "name": "ERC165", - "nameLocation": "744:6:28", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 10294 - ], - "body": { - "id": 4958, - "nodeType": "Block", - "src": "920:64:28", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 4956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4951, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4945, - "src": "937:11:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 4953, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10295, - "src": "957:7:28", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$10295_$", - "typeString": "type(contract IERC165)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC165_$10295_$", - "typeString": "type(contract IERC165)" - } - ], - "id": 4952, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "952:4:28", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "952:13:28", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$10295", - "typeString": "type(contract IERC165)" - } - }, - "id": 4955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "966:11:28", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "952:25:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "937:40:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 4950, - "id": 4957, - "nodeType": "Return", - "src": "930:47:28" - } - ] - }, - "documentation": { - "id": 4943, - "nodeType": "StructuredDocumentation", - "src": "768:56:28", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 4959, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "838:17:28", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4947, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "896:8:28" - }, - "parameters": { - "id": 4946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4945, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "863:11:28", - "nodeType": "VariableDeclaration", - "scope": 4959, - "src": "856:18:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 4944, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "856:6:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "855:20:28" - }, - "returnParameters": { - "id": 4950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4949, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4959, - "src": "914:4:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4948, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "914:4:28", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "913:6:28" - }, - "scope": 4960, - "src": "829:155:28", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "scope": 4961, - "src": "726:260:28", - "usedErrors": [] - } - ], - "src": "99:888:28" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "ERC165", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.", - "kind": "dev", - "methods": { - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - } - }, - "version": 1 - }, - "offset": [ - 726, - 986 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "b3cc6713a4ecd5a40a432dd8a7382c609564ee1a", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20.json deleted file mode 100644 index 0e0c332d..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20.json +++ /dev/null @@ -1,16421 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "13": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/ERC20.sol", - "17": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "18": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "Context": [ - 4207 - ], - "ERC20": [ - 11373 - ], - "IERC20": [ - 11634 - ], - "IERC20Metadata": [ - 11659 - ] - }, - "id": 11374, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10788, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "105:23:13" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 10789, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 11374, - "sourceUnit": 11635, - "src": "130:22:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "file": "./extensions/IERC20Metadata.sol", - "id": 10790, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 11374, - "sourceUnit": 11660, - "src": "153:41:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 10791, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 11374, - "sourceUnit": 4208, - "src": "195:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 10793, - "name": "Context", - "nameLocations": [ - "1419:7:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4207, - "src": "1419:7:13" - }, - "id": 10794, - "nodeType": "InheritanceSpecifier", - "src": "1419:7:13" - }, - { - "baseName": { - "id": 10795, - "name": "IERC20", - "nameLocations": [ - "1428:6:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11634, - "src": "1428:6:13" - }, - "id": 10796, - "nodeType": "InheritanceSpecifier", - "src": "1428:6:13" - }, - { - "baseName": { - "id": 10797, - "name": "IERC20Metadata", - "nameLocations": [ - "1436:14:13" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11659, - "src": "1436:14:13" - }, - "id": 10798, - "nodeType": "InheritanceSpecifier", - "src": "1436:14:13" - } - ], - "canonicalName": "ERC20", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 10792, - "nodeType": "StructuredDocumentation", - "src": "230:1170:13", - "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." - }, - "fullyImplemented": true, - "id": 11373, - "linearizedBaseContracts": [ - 11373, - 11659, - 11634, - 4207 - ], - "name": "ERC20", - "nameLocation": "1410:5:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 10802, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1493:9:13", - "nodeType": "VariableDeclaration", - "scope": 11373, - "src": "1457:45:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 10801, - "keyType": { - "id": 10799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1465:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1457:27:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 10800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1476:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 10808, - "mutability": "mutable", - "name": "_allowances", - "nameLocation": "1565:11:13", - "nodeType": "VariableDeclaration", - "scope": 11373, - "src": "1509:67:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 10807, - "keyType": { - "id": 10803, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1517:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1509:47:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 10806, - "keyType": { - "id": 10804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1536:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1528:27:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 10805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1547:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 10810, - "mutability": "mutable", - "name": "_totalSupply", - "nameLocation": "1599:12:13", - "nodeType": "VariableDeclaration", - "scope": 11373, - "src": "1583:28:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1583:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 10812, - "mutability": "mutable", - "name": "_name", - "nameLocation": "1633:5:13", - "nodeType": "VariableDeclaration", - "scope": 11373, - "src": "1618:20:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 10811, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1618:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 10814, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "1659:7:13", - "nodeType": "VariableDeclaration", - "scope": 11373, - "src": "1644:22:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 10813, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1644:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 10830, - "nodeType": "Block", - "src": "2032:57:13", - "statements": [ - { - "expression": { - "id": 10824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10822, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10812, - "src": "2042:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 10823, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10817, - "src": "2050:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2042:13:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 10825, - "nodeType": "ExpressionStatement", - "src": "2042:13:13" - }, - { - "expression": { - "id": 10828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10826, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10814, - "src": "2065:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 10827, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10819, - "src": "2075:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2065:17:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 10829, - "nodeType": "ExpressionStatement", - "src": "2065:17:13" - } - ] - }, - "documentation": { - "id": 10815, - "nodeType": "StructuredDocumentation", - "src": "1673:298:13", - "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction." - }, - "id": 10831, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10820, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10817, - "mutability": "mutable", - "name": "name_", - "nameLocation": "2002:5:13", - "nodeType": "VariableDeclaration", - "scope": 10831, - "src": "1988:19:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10816, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1988:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10819, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "2023:7:13", - "nodeType": "VariableDeclaration", - "scope": 10831, - "src": "2009:21:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10818, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2009:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1987:44:13" - }, - "returnParameters": { - "id": 10821, - "nodeType": "ParameterList", - "parameters": [], - "src": "2032:0:13" - }, - "scope": 11373, - "src": "1976:113:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 11646 - ], - "body": { - "id": 10840, - "nodeType": "Block", - "src": "2223:29:13", - "statements": [ - { - "expression": { - "id": 10838, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10812, - "src": "2240:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 10837, - "id": 10839, - "nodeType": "Return", - "src": "2233:12:13" - } - ] - }, - "documentation": { - "id": 10832, - "nodeType": "StructuredDocumentation", - "src": "2095:54:13", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 10841, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2163:4:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10834, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2190:8:13" - }, - "parameters": { - "id": 10833, - "nodeType": "ParameterList", - "parameters": [], - "src": "2167:2:13" - }, - "returnParameters": { - "id": 10837, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10836, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10841, - "src": "2208:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10835, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2208:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2207:15:13" - }, - "scope": 11373, - "src": "2154:98:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11652 - ], - "body": { - "id": 10850, - "nodeType": "Block", - "src": "2436:31:13", - "statements": [ - { - "expression": { - "id": 10848, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10814, - "src": "2453:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 10847, - "id": 10849, - "nodeType": "Return", - "src": "2446:14:13" - } - ] - }, - "documentation": { - "id": 10842, - "nodeType": "StructuredDocumentation", - "src": "2258:102:13", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "id": 10851, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2374:6:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10844, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2403:8:13" - }, - "parameters": { - "id": 10843, - "nodeType": "ParameterList", - "parameters": [], - "src": "2380:2:13" - }, - "returnParameters": { - "id": 10847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10846, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10851, - "src": "2421:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10845, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2421:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2420:15:13" - }, - "scope": 11373, - "src": "2365:102:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11658 - ], - "body": { - "id": 10860, - "nodeType": "Block", - "src": "3156:26:13", - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 10858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3173:2:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 10857, - "id": 10859, - "nodeType": "Return", - "src": "3166:9:13" - } - ] - }, - "documentation": { - "id": 10852, - "nodeType": "StructuredDocumentation", - "src": "2473:613:13", - "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." - }, - "functionSelector": "313ce567", - "id": 10861, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "3100:8:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10854, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3131:8:13" - }, - "parameters": { - "id": 10853, - "nodeType": "ParameterList", - "parameters": [], - "src": "3108:2:13" - }, - "returnParameters": { - "id": 10857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10856, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10861, - "src": "3149:5:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 10855, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3149:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "3148:7:13" - }, - "scope": 11373, - "src": "3091:91:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11583 - ], - "body": { - "id": 10870, - "nodeType": "Block", - "src": "3312:36:13", - "statements": [ - { - "expression": { - "id": 10868, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10810, - "src": "3329:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10867, - "id": 10869, - "nodeType": "Return", - "src": "3322:19:13" - } - ] - }, - "documentation": { - "id": 10862, - "nodeType": "StructuredDocumentation", - "src": "3188:49:13", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "id": 10871, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "3251:11:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10864, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3285:8:13" - }, - "parameters": { - "id": 10863, - "nodeType": "ParameterList", - "parameters": [], - "src": "3262:2:13" - }, - "returnParameters": { - "id": 10867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10866, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10871, - "src": "3303:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3303:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3302:9:13" - }, - "scope": 11373, - "src": "3242:106:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11591 - ], - "body": { - "id": 10884, - "nodeType": "Block", - "src": "3489:42:13", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 10880, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10802, - "src": "3506:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10882, - "indexExpression": { - "id": 10881, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10874, - "src": "3516:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3506:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10879, - "id": 10883, - "nodeType": "Return", - "src": "3499:25:13" - } - ] - }, - "documentation": { - "id": 10872, - "nodeType": "StructuredDocumentation", - "src": "3354:47:13", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 10885, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "3415:9:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10876, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3462:8:13" - }, - "parameters": { - "id": 10875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10874, - "mutability": "mutable", - "name": "account", - "nameLocation": "3433:7:13", - "nodeType": "VariableDeclaration", - "scope": 10885, - "src": "3425:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10873, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3425:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3424:17:13" - }, - "returnParameters": { - "id": 10879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10878, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10885, - "src": "3480:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10877, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3480:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3479:9:13" - }, - "scope": 11373, - "src": "3406:125:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11601 - ], - "body": { - "id": 10909, - "nodeType": "Block", - "src": "3812:104:13", - "statements": [ - { - "assignments": [ - 10897 - ], - "declarations": [ - { - "constant": false, - "id": 10897, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3830:5:13", - "nodeType": "VariableDeclaration", - "scope": 10909, - "src": "3822:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3822:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 10900, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10898, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "3838:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3838:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3822:28:13" - }, - { - "expression": { - "arguments": [ - { - "id": 10902, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10897, - "src": "3870:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10903, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10888, - "src": "3877:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10904, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10890, - "src": "3881:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10901, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11133, - "src": "3860:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 10905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3860:28:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10906, - "nodeType": "ExpressionStatement", - "src": "3860:28:13" - }, - { - "expression": { - "hexValue": "74727565", - "id": 10907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3905:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10895, - "id": 10908, - "nodeType": "Return", - "src": "3898:11:13" - } - ] - }, - "documentation": { - "id": 10886, - "nodeType": "StructuredDocumentation", - "src": "3537:185:13", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "id": 10910, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "3736:8:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10892, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3788:8:13" - }, - "parameters": { - "id": 10891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10888, - "mutability": "mutable", - "name": "to", - "nameLocation": "3753:2:13", - "nodeType": "VariableDeclaration", - "scope": 10910, - "src": "3745:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10887, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3745:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10890, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3765:6:13", - "nodeType": "VariableDeclaration", - "scope": 10910, - "src": "3757:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10889, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3757:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3744:28:13" - }, - "returnParameters": { - "id": 10895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10894, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10910, - "src": "3806:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10893, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3806:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3805:6:13" - }, - "scope": 11373, - "src": "3727:189:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11611 - ], - "body": { - "id": 10927, - "nodeType": "Block", - "src": "4072:51:13", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 10921, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10808, - "src": "4089:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 10923, - "indexExpression": { - "id": 10922, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10913, - "src": "4101:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4089:18:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 10925, - "indexExpression": { - "id": 10924, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10915, - "src": "4108:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4089:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10920, - "id": 10926, - "nodeType": "Return", - "src": "4082:34:13" - } - ] - }, - "documentation": { - "id": 10911, - "nodeType": "StructuredDocumentation", - "src": "3922:47:13", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "id": 10928, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "3983:9:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10917, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4045:8:13" - }, - "parameters": { - "id": 10916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10913, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4001:5:13", - "nodeType": "VariableDeclaration", - "scope": 10928, - "src": "3993:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10912, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3993:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10915, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4016:7:13", - "nodeType": "VariableDeclaration", - "scope": 10928, - "src": "4008:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4008:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3992:32:13" - }, - "returnParameters": { - "id": 10920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10919, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10928, - "src": "4063:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4063:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4062:9:13" - }, - "scope": 11373, - "src": "3974:149:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11621 - ], - "body": { - "id": 10952, - "nodeType": "Block", - "src": "4520:108:13", - "statements": [ - { - "assignments": [ - 10940 - ], - "declarations": [ - { - "constant": false, - "id": 10940, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4538:5:13", - "nodeType": "VariableDeclaration", - "scope": 10952, - "src": "4530:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10939, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4530:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 10943, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10941, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "4546:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4546:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4530:28:13" - }, - { - "expression": { - "arguments": [ - { - "id": 10945, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10940, - "src": "4577:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10946, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10931, - "src": "4584:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10947, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10933, - "src": "4593:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10944, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "4568:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 10948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4568:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10949, - "nodeType": "ExpressionStatement", - "src": "4568:32:13" - }, - { - "expression": { - "hexValue": "74727565", - "id": 10950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4617:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10938, - "id": 10951, - "nodeType": "Return", - "src": "4610:11:13" - } - ] - }, - "documentation": { - "id": 10929, - "nodeType": "StructuredDocumentation", - "src": "4129:297:13", - "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "id": 10953, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "4440:7:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10935, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4496:8:13" - }, - "parameters": { - "id": 10934, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10931, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4456:7:13", - "nodeType": "VariableDeclaration", - "scope": 10953, - "src": "4448:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10930, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4448:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10933, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4473:6:13", - "nodeType": "VariableDeclaration", - "scope": 10953, - "src": "4465:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10932, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4465:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4447:33:13" - }, - "returnParameters": { - "id": 10938, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10937, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10953, - "src": "4514:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10936, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4514:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4513:6:13" - }, - "scope": 11373, - "src": "4431:197:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11633 - ], - "body": { - "id": 10985, - "nodeType": "Block", - "src": "5323:153:13", - "statements": [ - { - "assignments": [ - 10967 - ], - "declarations": [ - { - "constant": false, - "id": 10967, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5341:7:13", - "nodeType": "VariableDeclaration", - "scope": 10985, - "src": "5333:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10966, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5333:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 10970, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10968, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "5351:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5351:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5333:30:13" - }, - { - "expression": { - "arguments": [ - { - "id": 10972, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10956, - "src": "5389:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10973, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10967, - "src": "5395:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10974, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10960, - "src": "5404:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10971, - "name": "_spendAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11350, - "src": "5373:15:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 10975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5373:38:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10976, - "nodeType": "ExpressionStatement", - "src": "5373:38:13" - }, - { - "expression": { - "arguments": [ - { - "id": 10978, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10956, - "src": "5431:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10979, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10958, - "src": "5437:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 10980, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10960, - "src": "5441:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10977, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11133, - "src": "5421:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 10981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5421:27:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10982, - "nodeType": "ExpressionStatement", - "src": "5421:27:13" - }, - { - "expression": { - "hexValue": "74727565", - "id": 10983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5465:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10965, - "id": 10984, - "nodeType": "Return", - "src": "5458:11:13" - } - ] - }, - "documentation": { - "id": 10954, - "nodeType": "StructuredDocumentation", - "src": "4634:551:13", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "id": 10986, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "5199:12:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 10962, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5299:8:13" - }, - "parameters": { - "id": 10961, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10956, - "mutability": "mutable", - "name": "from", - "nameLocation": "5229:4:13", - "nodeType": "VariableDeclaration", - "scope": 10986, - "src": "5221:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10955, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5221:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10958, - "mutability": "mutable", - "name": "to", - "nameLocation": "5251:2:13", - "nodeType": "VariableDeclaration", - "scope": 10986, - "src": "5243:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10957, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5243:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10960, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5271:6:13", - "nodeType": "VariableDeclaration", - "scope": 10986, - "src": "5263:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5263:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5211:72:13" - }, - "returnParameters": { - "id": 10965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10964, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10986, - "src": "5317:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10963, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5317:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5316:6:13" - }, - "scope": 11373, - "src": "5190:286:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 11014, - "nodeType": "Block", - "src": "5965:140:13", - "statements": [ - { - "assignments": [ - 10997 - ], - "declarations": [ - { - "constant": false, - "id": 10997, - "mutability": "mutable", - "name": "owner", - "nameLocation": "5983:5:13", - "nodeType": "VariableDeclaration", - "scope": 11014, - "src": "5975:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5975:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 11000, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10998, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "5991:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 10999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5991:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5975:28:13" - }, - { - "expression": { - "arguments": [ - { - "id": 11002, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10997, - "src": "6022:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11003, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10989, - "src": "6029:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 11005, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10997, - "src": "6048:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11006, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10989, - "src": "6055:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11004, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10928, - "src": "6038:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 11007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6038:25:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 11008, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10991, - "src": "6066:10:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6038:38:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11001, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "6013:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6013:64:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11011, - "nodeType": "ExpressionStatement", - "src": "6013:64:13" - }, - { - "expression": { - "hexValue": "74727565", - "id": 11012, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6094:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10995, - "id": 11013, - "nodeType": "Return", - "src": "6087:11:13" - } - ] - }, - "documentation": { - "id": 10987, - "nodeType": "StructuredDocumentation", - "src": "5482:384:13", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "id": 11015, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nameLocation": "5880:17:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10989, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5906:7:13", - "nodeType": "VariableDeclaration", - "scope": 11015, - "src": "5898:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10988, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5898:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10991, - "mutability": "mutable", - "name": "addedValue", - "nameLocation": "5923:10:13", - "nodeType": "VariableDeclaration", - "scope": 11015, - "src": "5915:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10990, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5915:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5897:37:13" - }, - "returnParameters": { - "id": 10995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10994, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11015, - "src": "5959:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10993, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5959:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5958:6:13" - }, - "scope": 11373, - "src": "5871:234:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 11055, - "nodeType": "Block", - "src": "6691:328:13", - "statements": [ - { - "assignments": [ - 11026 - ], - "declarations": [ - { - "constant": false, - "id": 11026, - "mutability": "mutable", - "name": "owner", - "nameLocation": "6709:5:13", - "nodeType": "VariableDeclaration", - "scope": 11055, - "src": "6701:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11025, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6701:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 11029, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 11027, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "6717:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 11028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6717:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6701:28:13" - }, - { - "assignments": [ - 11031 - ], - "declarations": [ - { - "constant": false, - "id": 11031, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "6747:16:13", - "nodeType": "VariableDeclaration", - "scope": 11055, - "src": "6739:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6739:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 11036, - "initialValue": { - "arguments": [ - { - "id": 11033, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11026, - "src": "6776:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11034, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11018, - "src": "6783:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11032, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10928, - "src": "6766:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 11035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6766:25:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6739:52:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11038, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11031, - "src": "6809:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 11039, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11020, - "src": "6829:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6809:35:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 11041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6846:39:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 11037, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6801:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6801:85:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11043, - "nodeType": "ExpressionStatement", - "src": "6801:85:13" - }, - { - "id": 11052, - "nodeType": "UncheckedBlock", - "src": "6896:95:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 11045, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11026, - "src": "6929:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11046, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11018, - "src": "6936:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11047, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11031, - "src": "6945:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 11048, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11020, - "src": "6964:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6945:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11044, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "6920:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6920:60:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11051, - "nodeType": "ExpressionStatement", - "src": "6920:60:13" - } - ] - }, - { - "expression": { - "hexValue": "74727565", - "id": 11053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7008:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 11024, - "id": 11054, - "nodeType": "Return", - "src": "7001:11:13" - } - ] - }, - "documentation": { - "id": 11016, - "nodeType": "StructuredDocumentation", - "src": "6111:476:13", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "id": 11056, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nameLocation": "6601:17:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11018, - "mutability": "mutable", - "name": "spender", - "nameLocation": "6627:7:13", - "nodeType": "VariableDeclaration", - "scope": 11056, - "src": "6619:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11017, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6619:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11020, - "mutability": "mutable", - "name": "subtractedValue", - "nameLocation": "6644:15:13", - "nodeType": "VariableDeclaration", - "scope": 11056, - "src": "6636:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6636:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6618:42:13" - }, - "returnParameters": { - "id": 11024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11023, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11056, - "src": "6685:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11022, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6685:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6684:6:13" - }, - "scope": 11373, - "src": "6592:427:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 11132, - "nodeType": "Block", - "src": "7581:710:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11067, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7599:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 11070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7615:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7607:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7607:7:13", - "typeDescriptions": {} - } - }, - "id": 11071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7607:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7599:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 11073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7619:39:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 11066, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7591:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7591:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11075, - "nodeType": "ExpressionStatement", - "src": "7591:68:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11077, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7677:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 11080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7691:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7683:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11078, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7683:7:13", - "typeDescriptions": {} - } - }, - "id": 11081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7683:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7677:16:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 11083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7695:37:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 11076, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7669:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7669:64:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11085, - "nodeType": "ExpressionStatement", - "src": "7669:64:13" - }, - { - "expression": { - "arguments": [ - { - "id": 11087, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7765:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11088, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "7771:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11089, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7775:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11086, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11361, - "src": "7744:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7744:38:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11091, - "nodeType": "ExpressionStatement", - "src": "7744:38:13" - }, - { - "assignments": [ - 11093 - ], - "declarations": [ - { - "constant": false, - "id": 11093, - "mutability": "mutable", - "name": "fromBalance", - "nameLocation": "7801:11:13", - "nodeType": "VariableDeclaration", - "scope": 11132, - "src": "7793:19:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7793:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 11097, - "initialValue": { - "baseExpression": { - "id": 11094, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10802, - "src": "7815:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11096, - "indexExpression": { - "id": 11095, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7825:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7815:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7793:37:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11099, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11093, - "src": "7848:11:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 11100, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7863:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7848:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 11102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7871:40:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 11098, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7840:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7840:72:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11104, - "nodeType": "ExpressionStatement", - "src": "7840:72:13" - }, - { - "id": 11119, - "nodeType": "UncheckedBlock", - "src": "7922:273:13", - "statements": [ - { - "expression": { - "id": 11111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 11105, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10802, - "src": "7946:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11107, - "indexExpression": { - "id": 11106, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "7956:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7946:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11108, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11093, - "src": "7964:11:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 11109, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "7978:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7964:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7946:38:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11112, - "nodeType": "ExpressionStatement", - "src": "7946:38:13" - }, - { - "expression": { - "id": 11117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 11113, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10802, - "src": "8161:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11115, - "indexExpression": { - "id": 11114, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "8171:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8161:13:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 11116, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "8178:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8161:23:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11118, - "nodeType": "ExpressionStatement", - "src": "8161:23:13" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 11121, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "8219:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11122, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "8225:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11123, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "8229:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11120, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11568, - "src": "8210:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8210:26:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11125, - "nodeType": "EmitStatement", - "src": "8205:31:13" - }, - { - "expression": { - "arguments": [ - { - "id": 11127, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11059, - "src": "8267:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11128, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11061, - "src": "8273:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11129, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11063, - "src": "8277:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11126, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11372, - "src": "8247:19:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8247:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11131, - "nodeType": "ExpressionStatement", - "src": "8247:37:13" - } - ] - }, - "documentation": { - "id": 11057, - "nodeType": "StructuredDocumentation", - "src": "7025:443:13", - "text": " @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." - }, - "id": 11133, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "7482:9:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11059, - "mutability": "mutable", - "name": "from", - "nameLocation": "7509:4:13", - "nodeType": "VariableDeclaration", - "scope": 11133, - "src": "7501:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11058, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7501:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11061, - "mutability": "mutable", - "name": "to", - "nameLocation": "7531:2:13", - "nodeType": "VariableDeclaration", - "scope": 11133, - "src": "7523:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7523:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11063, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7551:6:13", - "nodeType": "VariableDeclaration", - "scope": 11133, - "src": "7543:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7543:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7491:72:13" - }, - "returnParameters": { - "id": 11065, - "nodeType": "ParameterList", - "parameters": [], - "src": "7581:0:13" - }, - "scope": 11373, - "src": "7473:818:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 11189, - "nodeType": "Block", - "src": "8632:470:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11142, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11136, - "src": "8650:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 11145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8669:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8661:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8661:7:13", - "typeDescriptions": {} - } - }, - "id": 11146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8661:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8650:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 11148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8673:33:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 11141, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8642:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8642:65:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11150, - "nodeType": "ExpressionStatement", - "src": "8642:65:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 11154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8747:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8739:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11152, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8739:7:13", - "typeDescriptions": {} - } - }, - "id": 11155, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8739:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11156, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11136, - "src": "8751:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11157, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11138, - "src": "8760:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11151, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11361, - "src": "8718:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8718:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11159, - "nodeType": "ExpressionStatement", - "src": "8718:49:13" - }, - { - "expression": { - "id": 11162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 11160, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10810, - "src": "8778:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 11161, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11138, - "src": "8794:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8778:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11163, - "nodeType": "ExpressionStatement", - "src": "8778:22:13" - }, - { - "id": 11170, - "nodeType": "UncheckedBlock", - "src": "8810:175:13", - "statements": [ - { - "expression": { - "id": 11168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 11164, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10802, - "src": "8946:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11166, - "indexExpression": { - "id": 11165, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11136, - "src": "8956:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8946:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 11167, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11138, - "src": "8968:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8946:28:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11169, - "nodeType": "ExpressionStatement", - "src": "8946:28:13" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 11174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9016:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9008:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9008:7:13", - "typeDescriptions": {} - } - }, - "id": 11175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9008:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11176, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11136, - "src": "9020:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11177, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11138, - "src": "9029:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11171, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11568, - "src": "8999:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8999:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11179, - "nodeType": "EmitStatement", - "src": "8994:42:13" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 11183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9075:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9067:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9067:7:13", - "typeDescriptions": {} - } - }, - "id": 11184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9067:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11185, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11136, - "src": "9079:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11186, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11138, - "src": "9088:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11180, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11372, - "src": "9047:19:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9047:48:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11188, - "nodeType": "ExpressionStatement", - "src": "9047:48:13" - } - ] - }, - "documentation": { - "id": 11134, - "nodeType": "StructuredDocumentation", - "src": "8297:265:13", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." - }, - "id": 11190, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "8576:5:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11139, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11136, - "mutability": "mutable", - "name": "account", - "nameLocation": "8590:7:13", - "nodeType": "VariableDeclaration", - "scope": 11190, - "src": "8582:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11135, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8582:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11138, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8607:6:13", - "nodeType": "VariableDeclaration", - "scope": 11190, - "src": "8599:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11137, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8599:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8581:33:13" - }, - "returnParameters": { - "id": 11140, - "nodeType": "ParameterList", - "parameters": [], - "src": "8632:0:13" - }, - "scope": 11373, - "src": "8567:535:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 11261, - "nodeType": "Block", - "src": "9487:594:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11199, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11193, - "src": "9505:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 11202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9524:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9516:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9516:7:13", - "typeDescriptions": {} - } - }, - "id": 11203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9516:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9505:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 11205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9528:35:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 11198, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9497:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9497:67:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11207, - "nodeType": "ExpressionStatement", - "src": "9497:67:13" - }, - { - "expression": { - "arguments": [ - { - "id": 11209, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11193, - "src": "9596:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 11212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9613:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11211, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9605:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9605:7:13", - "typeDescriptions": {} - } - }, - "id": 11213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9605:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11214, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11195, - "src": "9617:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11208, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11361, - "src": "9575:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9575:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11216, - "nodeType": "ExpressionStatement", - "src": "9575:49:13" - }, - { - "assignments": [ - 11218 - ], - "declarations": [ - { - "constant": false, - "id": 11218, - "mutability": "mutable", - "name": "accountBalance", - "nameLocation": "9643:14:13", - "nodeType": "VariableDeclaration", - "scope": 11261, - "src": "9635:22:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9635:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 11222, - "initialValue": { - "baseExpression": { - "id": 11219, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10802, - "src": "9660:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11221, - "indexExpression": { - "id": 11220, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11193, - "src": "9670:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9660:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9635:43:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11224, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11218, - "src": "9696:14:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 11225, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11195, - "src": "9714:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9696:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 11227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9722:36:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 11223, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9688:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9688:71:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11229, - "nodeType": "ExpressionStatement", - "src": "9688:71:13" - }, - { - "id": 11242, - "nodeType": "UncheckedBlock", - "src": "9769:194:13", - "statements": [ - { - "expression": { - "id": 11236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 11230, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10802, - "src": "9793:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11232, - "indexExpression": { - "id": 11231, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11193, - "src": "9803:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9793:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11233, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11218, - "src": "9814:14:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 11234, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11195, - "src": "9831:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9814:23:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9793:44:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11237, - "nodeType": "ExpressionStatement", - "src": "9793:44:13" - }, - { - "expression": { - "id": 11240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 11238, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10810, - "src": "9930:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 11239, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11195, - "src": "9946:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9930:22:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11241, - "nodeType": "ExpressionStatement", - "src": "9930:22:13" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 11244, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11193, - "src": "9987:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 11247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10004:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9996:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9996:7:13", - "typeDescriptions": {} - } - }, - "id": 11248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9996:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11249, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11195, - "src": "10008:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11243, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11568, - "src": "9978:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9978:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11251, - "nodeType": "EmitStatement", - "src": "9973:42:13" - }, - { - "expression": { - "arguments": [ - { - "id": 11253, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11193, - "src": "10046:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 11256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10063:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10055:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11254, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10055:7:13", - "typeDescriptions": {} - } - }, - "id": 11257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10055:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11258, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11195, - "src": "10067:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11252, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11372, - "src": "10026:19:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10026:48:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11260, - "nodeType": "ExpressionStatement", - "src": "10026:48:13" - } - ] - }, - "documentation": { - "id": 11191, - "nodeType": "StructuredDocumentation", - "src": "9108:309:13", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "id": 11262, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9431:5:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11193, - "mutability": "mutable", - "name": "account", - "nameLocation": "9445:7:13", - "nodeType": "VariableDeclaration", - "scope": 11262, - "src": "9437:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9437:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11195, - "mutability": "mutable", - "name": "amount", - "nameLocation": "9462:6:13", - "nodeType": "VariableDeclaration", - "scope": 11262, - "src": "9454:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11194, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9454:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9436:33:13" - }, - "returnParameters": { - "id": 11197, - "nodeType": "ParameterList", - "parameters": [], - "src": "9487:0:13" - }, - "scope": 11373, - "src": "9422:659:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 11306, - "nodeType": "Block", - "src": "10617:257:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11273, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11265, - "src": "10635:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 11276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10652:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10644:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10644:7:13", - "typeDescriptions": {} - } - }, - "id": 11277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10644:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10635:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 11279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10656:38:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 11272, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10627:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10627:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11281, - "nodeType": "ExpressionStatement", - "src": "10627:68:13" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 11288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11283, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11267, - "src": "10713:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 11286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 11285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10724:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 11284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10724:7:13", - "typeDescriptions": {} - } - }, - "id": 11287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10724:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10713:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 11289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10736:36:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 11282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10705:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10705:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11291, - "nodeType": "ExpressionStatement", - "src": "10705:68:13" - }, - { - "expression": { - "id": 11298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 11292, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10808, - "src": "10784:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 11295, - "indexExpression": { - "id": 11293, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11265, - "src": "10796:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10784:18:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 11296, - "indexExpression": { - "id": 11294, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11267, - "src": "10803:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10784:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 11297, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11269, - "src": "10814:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10784:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 11299, - "nodeType": "ExpressionStatement", - "src": "10784:36:13" - }, - { - "eventCall": { - "arguments": [ - { - "id": 11301, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11265, - "src": "10844:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11302, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11267, - "src": "10851:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11303, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11269, - "src": "10860:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11300, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11577, - "src": "10835:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10835:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11305, - "nodeType": "EmitStatement", - "src": "10830:37:13" - } - ] - }, - "documentation": { - "id": 11263, - "nodeType": "StructuredDocumentation", - "src": "10087:412:13", - "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." - }, - "id": 11307, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "10513:8:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11265, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10539:5:13", - "nodeType": "VariableDeclaration", - "scope": 11307, - "src": "10531:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10531:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11267, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10562:7:13", - "nodeType": "VariableDeclaration", - "scope": 11307, - "src": "10554:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11266, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10554:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11269, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10587:6:13", - "nodeType": "VariableDeclaration", - "scope": 11307, - "src": "10579:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10579:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10521:78:13" - }, - "returnParameters": { - "id": 11271, - "nodeType": "ParameterList", - "parameters": [], - "src": "10617:0:13" - }, - "scope": 11373, - "src": "10504:370:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 11349, - "nodeType": "Block", - "src": "11275:321:13", - "statements": [ - { - "assignments": [ - 11318 - ], - "declarations": [ - { - "constant": false, - "id": 11318, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "11293:16:13", - "nodeType": "VariableDeclaration", - "scope": 11349, - "src": "11285:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11285:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 11323, - "initialValue": { - "arguments": [ - { - "id": 11320, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11310, - "src": "11322:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11321, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11312, - "src": "11329:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 11319, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10928, - "src": "11312:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 11322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11312:25:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11285:52:13" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11324, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11318, - "src": "11351:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 11327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11376:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 11326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11376:7:13", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 11325, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "11371:4:13", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 11328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11371:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 11329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11385:3:13", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "11371:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11351:37:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 11348, - "nodeType": "IfStatement", - "src": "11347:243:13", - "trueBody": { - "id": 11347, - "nodeType": "Block", - "src": "11390:200:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11332, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11318, - "src": "11412:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 11333, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11314, - "src": "11432:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11412:26:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "id": 11335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11440:31:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - }, - "value": "ERC20: insufficient allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - } - ], - "id": 11331, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11404:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 11336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11404:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11337, - "nodeType": "ExpressionStatement", - "src": "11404:68:13" - }, - { - "id": 11346, - "nodeType": "UncheckedBlock", - "src": "11486:94:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 11339, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11310, - "src": "11523:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 11340, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11312, - "src": "11530:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 11343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 11341, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11318, - "src": "11539:16:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 11342, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11314, - "src": "11558:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11539:25:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 11338, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "11514:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 11344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11514:51:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 11345, - "nodeType": "ExpressionStatement", - "src": "11514:51:13" - } - ] - } - ] - } - } - ] - }, - "documentation": { - "id": 11308, - "nodeType": "StructuredDocumentation", - "src": "10880:270:13", - "text": " @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." - }, - "id": 11350, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_spendAllowance", - "nameLocation": "11164:15:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11315, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11310, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11197:5:13", - "nodeType": "VariableDeclaration", - "scope": 11350, - "src": "11189:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11189:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11312, - "mutability": "mutable", - "name": "spender", - "nameLocation": "11220:7:13", - "nodeType": "VariableDeclaration", - "scope": 11350, - "src": "11212:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11311, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11212:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11314, - "mutability": "mutable", - "name": "amount", - "nameLocation": "11245:6:13", - "nodeType": "VariableDeclaration", - "scope": 11350, - "src": "11237:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11237:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11179:78:13" - }, - "returnParameters": { - "id": 11316, - "nodeType": "ParameterList", - "parameters": [], - "src": "11275:0:13" - }, - "scope": 11373, - "src": "11155:441:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 11360, - "nodeType": "Block", - "src": "12299:2:13", - "statements": [] - }, - "documentation": { - "id": 11351, - "nodeType": "StructuredDocumentation", - "src": "11602:573:13", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 11361, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "12189:20:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11358, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11353, - "mutability": "mutable", - "name": "from", - "nameLocation": "12227:4:13", - "nodeType": "VariableDeclaration", - "scope": 11361, - "src": "12219:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12219:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11355, - "mutability": "mutable", - "name": "to", - "nameLocation": "12249:2:13", - "nodeType": "VariableDeclaration", - "scope": 11361, - "src": "12241:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11354, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12241:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11357, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12269:6:13", - "nodeType": "VariableDeclaration", - "scope": 11361, - "src": "12261:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12261:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12209:72:13" - }, - "returnParameters": { - "id": 11359, - "nodeType": "ParameterList", - "parameters": [], - "src": "12299:0:13" - }, - "scope": 11373, - "src": "12180:121:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 11371, - "nodeType": "Block", - "src": "13007:2:13", - "statements": [] - }, - "documentation": { - "id": 11362, - "nodeType": "StructuredDocumentation", - "src": "12307:577:13", - "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 11372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "12898:19:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11364, - "mutability": "mutable", - "name": "from", - "nameLocation": "12935:4:13", - "nodeType": "VariableDeclaration", - "scope": 11372, - "src": "12927:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12927:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11366, - "mutability": "mutable", - "name": "to", - "nameLocation": "12957:2:13", - "nodeType": "VariableDeclaration", - "scope": 11372, - "src": "12949:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12949:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11368, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12977:6:13", - "nodeType": "VariableDeclaration", - "scope": 11372, - "src": "12969:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12969:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12917:72:13" - }, - "returnParameters": { - "id": 11370, - "nodeType": "ParameterList", - "parameters": [], - "src": "13007:0:13" - }, - "scope": 11373, - "src": "12889:120:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 11374, - "src": "1401:11610:13", - "usedErrors": [] - } - ], - "src": "105:12907:13" - }, - "bytecode": "60806040523480156200001157600080fd5b5060405162000b4638038062000b4683398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61085280620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea2646970667358221220fad52cbe2ec492943a89b18fd70ce102c2f8f202c9bd741c721dbaebaf1f562d64736f6c63430008110033", - "bytecodeSha1": "5d7c53ac75579876ffbfb61e35f275d9402a5cc6", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "ERC20", - "coverageMap": { - "branches": { - "13": { - "ERC20._approve": { - "30": [ - 10635, - 10654, - true - ], - "31": [ - 10713, - 10734, - true - ] - }, - "ERC20._spendAllowance": { - "32": [ - 11351, - 11388, - false - ], - "33": [ - 11412, - 11438, - true - ] - }, - "ERC20._transfer": { - "34": [ - 7599, - 7617, - true - ], - "35": [ - 7677, - 7693, - true - ], - "36": [ - 7848, - 7869, - true - ] - }, - "ERC20.decreaseAllowance": { - "29": [ - 6809, - 6844, - true - ] - } - }, - "17": {}, - "18": {}, - "22": {} - }, - "statements": { - "13": { - "ERC20._approve": { - "16": [ - 10627, - 10695 - ], - "17": [ - 10705, - 10773 - ], - "18": [ - 10784, - 10820 - ], - "19": [ - 10830, - 10867 - ] - }, - "ERC20._spendAllowance": { - "20": [ - 11404, - 11472 - ], - "21": [ - 11514, - 11565 - ] - }, - "ERC20._transfer": { - "22": [ - 7591, - 7659 - ], - "23": [ - 7669, - 7733 - ], - "24": [ - 7840, - 7912 - ], - "25": [ - 7946, - 7984 - ], - "26": [ - 8161, - 8184 - ], - "27": [ - 8205, - 8236 - ], - "28": [ - 8247, - 8284 - ] - }, - "ERC20.allowance": { - "15": [ - 4082, - 4116 - ] - }, - "ERC20.approve": { - "5": [ - 4568, - 4600 - ], - "6": [ - 4610, - 4621 - ] - }, - "ERC20.balanceOf": { - "2": [ - 3499, - 3524 - ] - }, - "ERC20.decimals": { - "1": [ - 3166, - 3175 - ] - }, - "ERC20.decreaseAllowance": { - "12": [ - 6801, - 6886 - ], - "13": [ - 6920, - 6980 - ] - }, - "ERC20.increaseAllowance": { - "10": [ - 6013, - 6077 - ] - }, - "ERC20.name": { - "3": [ - 2233, - 2245 - ] - }, - "ERC20.symbol": { - "11": [ - 2446, - 2460 - ] - }, - "ERC20.totalSupply": { - "0": [ - 3322, - 3341 - ] - }, - "ERC20.transfer": { - "14": [ - 3860, - 3888 - ] - }, - "ERC20.transferFrom": { - "7": [ - 5373, - 5411 - ], - "8": [ - 5421, - 5448 - ], - "9": [ - 5458, - 5469 - ] - } - }, - "17": {}, - "18": {}, - "22": { - "Context._msgSender": { - "4": [ - 712, - 729 - ] - } - } - } - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Metadata" - ], - "deployedBytecode": "608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea2646970667358221220fad52cbe2ec492943a89b18fd70ce102c2f8f202c9bd741c721dbaebaf1f562d64736f6c63430008110033", - "deployedSourceMap": "1401:11610:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:35;;1162:22;1144:41;;1132:2;1117:18;4431:197:13;1004:187:35;3242:106:13;3329:12;;3242:106;;;1342:25:35;;;1330:2;1315:18;3242:106:13;1196:177:35;5190:286:13;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1853:36:35;;1841:2;1826:18;3091:91:13;1711:184:35;5871:234:13;;;;;;:::i;:::-;;:::i;3406:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:13;3480:7;3506:18;;;;;;;;;;;;3406:125;2365:102;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2154:98::-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:22;4568:32:13;719:10:22;4584:7:13;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;;:::o;5190:286::-;5317:4;719:10:22;5373:38:13;5389:4;719:10:22;5404:6:13;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:13;;5190:286;-1:-1:-1;;;;5190:286:13:o;5871:234::-;5959:4;719:10:22;6013:64:13;719:10:22;6029:7:13;6066:10;6038:25;719:10:22;6029:7:13;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;2365:102::-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:22;6685:4:13;6766:25;719:10:22;6783:7:13;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:13;;3170:2:35;6801:85:13;;;3152:21:35;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:35;;;3292:35;3344:19;;6801:85:13;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:22;3860:28:13;719:10:22;3877:2:13;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:13;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;10504:370::-;-1:-1:-1;;;;;10635:19:13;;10627:68;;;;-1:-1:-1;;;10627:68:13;;3576:2:35;10627:68:13;;;3558:21:35;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:35;;;3698:34;3749:19;;10627:68:13;3374:400:35;10627:68:13;-1:-1:-1;;;;;10713:21:13;;10705:68;;;;-1:-1:-1;;;10705:68:13;;3981:2:35;10705:68:13;;;3963:21:35;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:35;;;4103:32;4152:19;;10705:68:13;3779:398:35;10705:68:13;-1:-1:-1;;;;;10784:18:13;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1342:25:35;;;10835:32:13;;1315:18:35;10835:32:13;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:13;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:13;;4384:2:35;11404:68:13;;;4366:21:35;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11404:68:13;4182:353:35;11404:68:13;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:13;;7591:68;;;;-1:-1:-1;;;7591:68:13;;4742:2:35;7591:68:13;;;4724:21:35;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:35;;;4864:35;4916:19;;7591:68:13;4540:401:35;7591:68:13;-1:-1:-1;;;;;7677:16:13;;7669:64;;;;-1:-1:-1;;;7669:64:13;;5148:2:35;7669:64:13;;;5130:21:35;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:35;;;5270:33;5320:19;;7669:64:13;4946:399:35;7669:64:13;-1:-1:-1;;;;;7815:15:13;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:13;;5552:2:35;7840:72:13;;;5534:21:35;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:35;;;5674:36;5727:19;;7840:72:13;5350:402:35;7840:72:13;-1:-1:-1;;;;;7946:15:13;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1342:25:35;;;8161:13:13;;8210:26;;1315:18:35;8210:26:13;;;;;;;8247:37;12180:121;14:548:35;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:35;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:35:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:35:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15", - "language": "Solidity", - "natspec": { - "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "constructor": { - "details": "Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "offset": [ - 1401, - 13011 - ], - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x730 JUMP JUMPDEST PUSH2 0x24C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x76C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x292 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x2A1 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x321 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x78E JUMP JUMPDEST PUSH2 0x32F JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1DB SWAP1 PUSH2 0x7C1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x35A JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x25A DUP6 DUP3 DUP6 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x265 DUP6 DUP6 DUP6 PUSH2 0x4F8 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x283 DUP4 DUP4 PUSH2 0x32F JUMP JUMPDEST PUSH2 0x28D SWAP2 SWAP1 PUSH2 0x7FB JUMP JUMPDEST PUSH2 0x35A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C1 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AF DUP3 DUP7 PUSH2 0x32F JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x314 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x265 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x35A JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48A DUP5 DUP5 PUSH2 0x32F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F2 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x30B JUMP JUMPDEST PUSH2 0x4F2 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x35A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x636 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C9 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AD JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x719 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x722 DUP4 PUSH2 0x6EA JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x745 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x74E DUP5 PUSH2 0x6EA JUMP JUMPDEST SWAP3 POP PUSH2 0x75C PUSH1 0x20 DUP6 ADD PUSH2 0x6EA JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x787 DUP3 PUSH2 0x6EA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AA DUP4 PUSH2 0x6EA JUMP JUMPDEST SWAP2 POP PUSH2 0x7B8 PUSH1 0x20 DUP5 ADD PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x7F5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x246 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STATICCALL 0xD5 0x2C 0xBE 0x2E 0xC4 SWAP3 SWAP5 GASPRICE DUP10 0xB1 DUP16 0xD7 0xC 0xE1 MUL 0xC2 0xF8 CALLCODE MUL 0xC9 0xBD PUSH21 0x1C721DBAEBAF1F562D64736F6C6343000811003300 ", - "pcMap": { - "0": { - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0x80" - }, - "2": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "4": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "MSTORE", - "path": "13" - }, - "5": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "CALLVALUE", - "path": "13" - }, - "6": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "7": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "ISZERO", - "path": "13" - }, - "8": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x10" - }, - "11": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "12": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "14": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "15": { - "dev": "Cannot send ether to nonpayable function", - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "REVERT", - "path": "13" - }, - "16": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPDEST", - "path": "13" - }, - "17": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "POP", - "path": "13" - }, - "18": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "20": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "21": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "LT", - "path": "13" - }, - "22": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0xA9" - }, - "25": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "26": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "28": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "CALLDATALOAD", - "path": "13" - }, - "29": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0xE0" - }, - "31": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "SHR", - "path": "13" - }, - "32": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "33": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x39509351" - }, - "38": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "GT", - "path": "13" - }, - "39": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x71" - }, - "42": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "43": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "44": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x39509351" - }, - "49": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "50": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x123" - }, - "53": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "54": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "55": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x70A08231" - }, - "60": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "61": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x136" - }, - "64": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "65": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "66": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x95D89B41" - }, - "71": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "72": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x15F" - }, - "75": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "76": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "77": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0xA457C2D7" - }, - "82": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "83": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x167" - }, - "86": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "87": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "88": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0xA9059CBB" - }, - "93": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "94": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x17A" - }, - "97": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "98": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "99": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0xDD62ED3E" - }, - "104": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "105": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x18D" - }, - "108": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "109": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "111": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "112": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "REVERT", - "path": "13" - }, - "113": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPDEST", - "path": "13" - }, - "114": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "115": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x6FDDE03" - }, - "120": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "121": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0xAE" - }, - "124": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "125": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "126": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x95EA7B3" - }, - "131": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "132": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0xCC" - }, - "135": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "136": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "137": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x18160DDD" - }, - "142": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "143": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0xEF" - }, - "146": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "147": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "148": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x23B872DD" - }, - "153": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "154": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x101" - }, - "157": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "158": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "159": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH4", - "path": "13", - "value": "0x313CE567" - }, - "164": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "EQ", - "path": "13" - }, - "165": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH2", - "path": "13", - "value": "0x114" - }, - "168": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPI", - "path": "13" - }, - "169": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "JUMPDEST", - "path": "13" - }, - "170": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "172": { - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "DUP1", - "path": "13" - }, - "173": { - "first_revert": true, - "fn": null, - "offset": [ - 1401, - 13011 - ], - "op": "REVERT", - "path": "13" - }, - "174": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "JUMPDEST", - "path": "13" - }, - "175": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "PUSH2", - "path": "13", - "value": "0xB6" - }, - "178": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "PUSH2", - "path": "13", - "value": "0x1A0" - }, - "181": { - "fn": "ERC20.name", - "jump": "i", - "offset": [ - 2154, - 2252 - ], - "op": "JUMP", - "path": "13" - }, - "182": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "JUMPDEST", - "path": "13" - }, - "183": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "185": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "MLOAD", - "path": "13" - }, - "186": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "PUSH2", - "path": "13", - "value": "0xC3" - }, - "189": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "SWAP2", - "path": "13" - }, - "190": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "SWAP1", - "path": "13" - }, - "191": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "PUSH2", - "path": "13", - "value": "0x69C" - }, - "194": { - "fn": "ERC20.name", - "jump": "i", - "offset": [ - 2154, - 2252 - ], - "op": "JUMP", - "path": "13" - }, - "195": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "JUMPDEST", - "path": "13" - }, - "196": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "198": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "MLOAD", - "path": "13" - }, - "199": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "DUP1", - "path": "13" - }, - "200": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "SWAP2", - "path": "13" - }, - "201": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "SUB", - "path": "13" - }, - "202": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "SWAP1", - "path": "13" - }, - "203": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "RETURN", - "path": "13" - }, - "204": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "JUMPDEST", - "path": "13" - }, - "205": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "PUSH2", - "path": "13", - "value": "0xDF" - }, - "208": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "PUSH2", - "path": "13", - "value": "0xDA" - }, - "211": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "212": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "214": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "PUSH2", - "path": "13", - "value": "0x706" - }, - "217": { - "fn": "ERC20.approve", - "jump": "i", - "offset": [ - 4431, - 4628 - ], - "op": "JUMP", - "path": "13" - }, - "218": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "JUMPDEST", - "path": "13" - }, - "219": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "PUSH2", - "path": "13", - "value": "0x232" - }, - "222": { - "fn": "ERC20.approve", - "jump": "i", - "offset": [ - 4431, - 4628 - ], - "op": "JUMP", - "path": "13" - }, - "223": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "JUMPDEST", - "path": "13" - }, - "224": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "226": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "MLOAD", - "path": "13" - }, - "227": { - "op": "SWAP1" - }, - "228": { - "op": "ISZERO" - }, - "229": { - "op": "ISZERO" - }, - "230": { - "op": "DUP2" - }, - "231": { - "op": "MSTORE" - }, - "232": { - "op": "PUSH1", - "value": "0x20" - }, - "234": { - "op": "ADD" - }, - "235": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "PUSH2", - "path": "13", - "value": "0xC3" - }, - "238": { - "op": "JUMP" - }, - "239": { - "fn": "ERC20.totalSupply", - "offset": [ - 3242, - 3348 - ], - "op": "JUMPDEST", - "path": "13" - }, - "240": { - "fn": "ERC20.totalSupply", - "offset": [ - 3329, - 3341 - ], - "op": "PUSH1", - "path": "13", - "statement": 0, - "value": "0x2" - }, - "242": { - "fn": "ERC20.totalSupply", - "offset": [ - 3329, - 3341 - ], - "op": "SLOAD", - "path": "13" - }, - "243": { - "fn": "ERC20.totalSupply", - "offset": [ - 3242, - 3348 - ], - "op": "JUMPDEST", - "path": "13" - }, - "244": { - "fn": "ERC20.totalSupply", - "offset": [ - 3242, - 3348 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "246": { - "fn": "ERC20.totalSupply", - "offset": [ - 3242, - 3348 - ], - "op": "MLOAD", - "path": "13" - }, - "247": { - "op": "SWAP1" - }, - "248": { - "op": "DUP2" - }, - "249": { - "op": "MSTORE" - }, - "250": { - "op": "PUSH1", - "value": "0x20" - }, - "252": { - "op": "ADD" - }, - "253": { - "fn": "ERC20.totalSupply", - "offset": [ - 3242, - 3348 - ], - "op": "PUSH2", - "path": "13", - "value": "0xC3" - }, - "256": { - "op": "JUMP" - }, - "257": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "JUMPDEST", - "path": "13" - }, - "258": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "PUSH2", - "path": "13", - "value": "0xDF" - }, - "261": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "PUSH2", - "path": "13", - "value": "0x10F" - }, - "264": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "265": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "267": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "PUSH2", - "path": "13", - "value": "0x730" - }, - "270": { - "fn": "ERC20.transferFrom", - "jump": "i", - "offset": [ - 5190, - 5476 - ], - "op": "JUMP", - "path": "13" - }, - "271": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "JUMPDEST", - "path": "13" - }, - "272": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "PUSH2", - "path": "13", - "value": "0x24C" - }, - "275": { - "fn": "ERC20.transferFrom", - "jump": "i", - "offset": [ - 5190, - 5476 - ], - "op": "JUMP", - "path": "13" - }, - "276": { - "fn": "ERC20.decimals", - "offset": [ - 3091, - 3182 - ], - "op": "JUMPDEST", - "path": "13" - }, - "277": { - "fn": "ERC20.decimals", - "offset": [ - 3091, - 3182 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "279": { - "fn": "ERC20.decimals", - "offset": [ - 3091, - 3182 - ], - "op": "MLOAD", - "path": "13" - }, - "280": { - "fn": "ERC20.decimals", - "offset": [ - 3173, - 3175 - ], - "op": "PUSH1", - "path": "13", - "statement": 1, - "value": "0x12" - }, - "282": { - "op": "DUP2" - }, - "283": { - "op": "MSTORE" - }, - "284": { - "op": "PUSH1", - "value": "0x20" - }, - "286": { - "op": "ADD" - }, - "287": { - "fn": "ERC20.decimals", - "offset": [ - 3091, - 3182 - ], - "op": "PUSH2", - "path": "13", - "value": "0xC3" - }, - "290": { - "op": "JUMP" - }, - "291": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "JUMPDEST", - "path": "13" - }, - "292": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "PUSH2", - "path": "13", - "value": "0xDF" - }, - "295": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "PUSH2", - "path": "13", - "value": "0x131" - }, - "298": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "299": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "301": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "PUSH2", - "path": "13", - "value": "0x706" - }, - "304": { - "fn": "ERC20.increaseAllowance", - "jump": "i", - "offset": [ - 5871, - 6105 - ], - "op": "JUMP", - "path": "13" - }, - "305": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "JUMPDEST", - "path": "13" - }, - "306": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "PUSH2", - "path": "13", - "value": "0x270" - }, - "309": { - "fn": "ERC20.increaseAllowance", - "jump": "i", - "offset": [ - 5871, - 6105 - ], - "op": "JUMP", - "path": "13" - }, - "310": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "JUMPDEST", - "path": "13" - }, - "311": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "PUSH2", - "path": "13", - "value": "0xF3" - }, - "314": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "PUSH2", - "path": "13", - "value": "0x144" - }, - "317": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "318": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "320": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "PUSH2", - "path": "13", - "value": "0x76C" - }, - "323": { - "fn": "ERC20.balanceOf", - "jump": "i", - "offset": [ - 3406, - 3531 - ], - "op": "JUMP", - "path": "13" - }, - "324": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "JUMPDEST", - "path": "13" - }, - "325": { - "op": "PUSH1", - "value": "0x1" - }, - "327": { - "op": "PUSH1", - "value": "0x1" - }, - "329": { - "op": "PUSH1", - "value": "0xA0" - }, - "331": { - "op": "SHL" - }, - "332": { - "op": "SUB" - }, - "333": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "AND", - "path": "13", - "statement": 2 - }, - "334": { - "fn": "ERC20.balanceOf", - "offset": [ - 3480, - 3487 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "336": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "SWAP1", - "path": "13" - }, - "337": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "DUP2", - "path": "13" - }, - "338": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "MSTORE", - "path": "13" - }, - "339": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "341": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "DUP2", - "path": "13" - }, - "342": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "SWAP1", - "path": "13" - }, - "343": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "MSTORE", - "path": "13" - }, - "344": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "346": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "SWAP1", - "path": "13" - }, - "347": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "KECCAK256", - "path": "13" - }, - "348": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "SLOAD", - "path": "13" - }, - "349": { - "fn": "ERC20.balanceOf", - "offset": [ - 3506, - 3524 - ], - "op": "SWAP1", - "path": "13" - }, - "350": { - "fn": "ERC20.balanceOf", - "offset": [ - 3406, - 3531 - ], - "op": "JUMP", - "path": "13" - }, - "351": { - "fn": "ERC20.symbol", - "offset": [ - 2365, - 2467 - ], - "op": "JUMPDEST", - "path": "13" - }, - "352": { - "fn": "ERC20.symbol", - "offset": [ - 2365, - 2467 - ], - "op": "PUSH2", - "path": "13", - "value": "0xB6" - }, - "355": { - "fn": "ERC20.symbol", - "offset": [ - 2365, - 2467 - ], - "op": "PUSH2", - "path": "13", - "value": "0x292" - }, - "358": { - "fn": "ERC20.symbol", - "jump": "i", - "offset": [ - 2365, - 2467 - ], - "op": "JUMP", - "path": "13" - }, - "359": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "JUMPDEST", - "path": "13" - }, - "360": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "PUSH2", - "path": "13", - "value": "0xDF" - }, - "363": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "PUSH2", - "path": "13", - "value": "0x175" - }, - "366": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "367": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "369": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "PUSH2", - "path": "13", - "value": "0x706" - }, - "372": { - "fn": "ERC20.decreaseAllowance", - "jump": "i", - "offset": [ - 6592, - 7019 - ], - "op": "JUMP", - "path": "13" - }, - "373": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "JUMPDEST", - "path": "13" - }, - "374": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "PUSH2", - "path": "13", - "value": "0x2A1" - }, - "377": { - "fn": "ERC20.decreaseAllowance", - "jump": "i", - "offset": [ - 6592, - 7019 - ], - "op": "JUMP", - "path": "13" - }, - "378": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "JUMPDEST", - "path": "13" - }, - "379": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "PUSH2", - "path": "13", - "value": "0xDF" - }, - "382": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "PUSH2", - "path": "13", - "value": "0x188" - }, - "385": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "386": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "388": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "PUSH2", - "path": "13", - "value": "0x706" - }, - "391": { - "fn": "ERC20.transfer", - "jump": "i", - "offset": [ - 3727, - 3916 - ], - "op": "JUMP", - "path": "13" - }, - "392": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "JUMPDEST", - "path": "13" - }, - "393": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "PUSH2", - "path": "13", - "value": "0x321" - }, - "396": { - "fn": "ERC20.transfer", - "jump": "i", - "offset": [ - 3727, - 3916 - ], - "op": "JUMP", - "path": "13" - }, - "397": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "JUMPDEST", - "path": "13" - }, - "398": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "PUSH2", - "path": "13", - "value": "0xF3" - }, - "401": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "PUSH2", - "path": "13", - "value": "0x19B" - }, - "404": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "CALLDATASIZE", - "path": "13" - }, - "405": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "407": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "PUSH2", - "path": "13", - "value": "0x78E" - }, - "410": { - "fn": "ERC20.allowance", - "jump": "i", - "offset": [ - 3974, - 4123 - ], - "op": "JUMP", - "path": "13" - }, - "411": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "JUMPDEST", - "path": "13" - }, - "412": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "PUSH2", - "path": "13", - "value": "0x32F" - }, - "415": { - "fn": "ERC20.allowance", - "jump": "i", - "offset": [ - 3974, - 4123 - ], - "op": "JUMP", - "path": "13" - }, - "416": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "JUMPDEST", - "path": "13" - }, - "417": { - "fn": "ERC20.name", - "offset": [ - 2208, - 2221 - ], - "op": "PUSH1", - "path": "13", - "value": "0x60" - }, - "419": { - "fn": "ERC20.name", - "offset": [ - 2240, - 2245 - ], - "op": "PUSH1", - "path": "13", - "statement": 3, - "value": "0x3" - }, - "421": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "422": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SLOAD", - "path": "13" - }, - "423": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x1AF" - }, - "426": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "427": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x7C1" - }, - "430": { - "fn": "ERC20.name", - "jump": "i", - "offset": [ - 2233, - 2245 - ], - "op": "JUMP", - "path": "13" - }, - "431": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPDEST", - "path": "13" - }, - "432": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "433": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x1F" - }, - "435": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "436": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "438": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "439": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP2", - "path": "13" - }, - "440": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DIV", - "path": "13" - }, - "441": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MUL", - "path": "13" - }, - "442": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "444": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "445": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "447": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MLOAD", - "path": "13" - }, - "448": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "449": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP2", - "path": "13" - }, - "450": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "451": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "453": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MSTORE", - "path": "13" - }, - "454": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "455": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP3", - "path": "13" - }, - "456": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP2", - "path": "13" - }, - "457": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "458": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP2", - "path": "13" - }, - "459": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP2", - "path": "13" - }, - "460": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MSTORE", - "path": "13" - }, - "461": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "463": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "464": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP3", - "path": "13" - }, - "465": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "466": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SLOAD", - "path": "13" - }, - "467": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x1DB" - }, - "470": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "471": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x7C1" - }, - "474": { - "fn": "ERC20.name", - "jump": "i", - "offset": [ - 2233, - 2245 - ], - "op": "JUMP", - "path": "13" - }, - "475": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPDEST", - "path": "13" - }, - "476": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "477": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ISZERO", - "path": "13" - }, - "478": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x228" - }, - "481": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPI", - "path": "13" - }, - "482": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "483": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x1F" - }, - "485": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "LT", - "path": "13" - }, - "486": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x1FD" - }, - "489": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPI", - "path": "13" - }, - "490": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x100" - }, - "493": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "494": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP4", - "path": "13" - }, - "495": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SLOAD", - "path": "13" - }, - "496": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DIV", - "path": "13" - }, - "497": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MUL", - "path": "13" - }, - "498": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP4", - "path": "13" - }, - "499": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MSTORE", - "path": "13" - }, - "500": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP2", - "path": "13" - }, - "501": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "503": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "504": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP2", - "path": "13" - }, - "505": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x228" - }, - "508": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMP", - "path": "13" - }, - "509": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPDEST", - "path": "13" - }, - "510": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP3", - "path": "13" - }, - "511": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "512": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP2", - "path": "13" - }, - "513": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "514": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "516": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MSTORE", - "path": "13" - }, - "517": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "519": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "521": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "KECCAK256", - "path": "13" - }, - "522": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "523": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPDEST", - "path": "13" - }, - "524": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP2", - "path": "13" - }, - "525": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SLOAD", - "path": "13" - }, - "526": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP2", - "path": "13" - }, - "527": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "MSTORE", - "path": "13" - }, - "528": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "529": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x1" - }, - "531": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "532": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "533": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "535": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "536": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP1", - "path": "13" - }, - "537": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP4", - "path": "13" - }, - "538": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "GT", - "path": "13" - }, - "539": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH2", - "path": "13", - "value": "0x20B" - }, - "542": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPI", - "path": "13" - }, - "543": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP3", - "path": "13" - }, - "544": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "545": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SUB", - "path": "13" - }, - "546": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "PUSH1", - "path": "13", - "value": "0x1F" - }, - "548": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "AND", - "path": "13" - }, - "549": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "DUP3", - "path": "13" - }, - "550": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "ADD", - "path": "13" - }, - "551": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP2", - "path": "13" - }, - "552": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "JUMPDEST", - "path": "13" - }, - "553": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "POP", - "path": "13" - }, - "554": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "POP", - "path": "13" - }, - "555": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "POP", - "path": "13" - }, - "556": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "POP", - "path": "13" - }, - "557": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "POP", - "path": "13" - }, - "558": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "SWAP1", - "path": "13" - }, - "559": { - "fn": "ERC20.name", - "offset": [ - 2233, - 2245 - ], - "op": "POP", - "path": "13" - }, - "560": { - "fn": "ERC20.name", - "offset": [ - 2154, - 2252 - ], - "op": "SWAP1", - "path": "13" - }, - "561": { - "fn": "ERC20.name", - "jump": "o", - "offset": [ - 2154, - 2252 - ], - "op": "JUMP", - "path": "13" - }, - "562": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "JUMPDEST", - "path": "13" - }, - "563": { - "fn": "ERC20.approve", - "offset": [ - 4514, - 4518 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "565": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22", - "statement": 4 - }, - "566": { - "fn": "ERC20.approve", - "offset": [ - 4568, - 4600 - ], - "op": "PUSH2", - "path": "13", - "statement": 5, - "value": "0x240" - }, - "569": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "DUP2", - "path": "22" - }, - "570": { - "fn": "ERC20.approve", - "offset": [ - 4584, - 4591 - ], - "op": "DUP6", - "path": "13" - }, - "571": { - "fn": "ERC20.approve", - "offset": [ - 4593, - 4599 - ], - "op": "DUP6", - "path": "13" - }, - "572": { - "fn": "ERC20.approve", - "offset": [ - 4568, - 4576 - ], - "op": "PUSH2", - "path": "13", - "value": "0x35A" - }, - "575": { - "fn": "ERC20.approve", - "jump": "i", - "offset": [ - 4568, - 4600 - ], - "op": "JUMP", - "path": "13" - }, - "576": { - "fn": "ERC20.approve", - "offset": [ - 4568, - 4600 - ], - "op": "JUMPDEST", - "path": "13" - }, - "577": { - "fn": "ERC20.approve", - "offset": [ - 4617, - 4621 - ], - "op": "PUSH1", - "path": "13", - "statement": 6, - "value": "0x1" - }, - "579": { - "fn": "ERC20.approve", - "offset": [ - 4610, - 4621 - ], - "op": "SWAP2", - "path": "13" - }, - "580": { - "fn": "ERC20.approve", - "offset": [ - 4610, - 4621 - ], - "op": "POP", - "path": "13" - }, - "581": { - "fn": "ERC20.approve", - "offset": [ - 4610, - 4621 - ], - "op": "POP", - "path": "13" - }, - "582": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "JUMPDEST", - "path": "13" - }, - "583": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "SWAP3", - "path": "13" - }, - "584": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "SWAP2", - "path": "13" - }, - "585": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "POP", - "path": "13" - }, - "586": { - "fn": "ERC20.approve", - "offset": [ - 4431, - 4628 - ], - "op": "POP", - "path": "13" - }, - "587": { - "fn": "ERC20.approve", - "jump": "o", - "offset": [ - 4431, - 4628 - ], - "op": "JUMP", - "path": "13" - }, - "588": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "JUMPDEST", - "path": "13" - }, - "589": { - "fn": "ERC20.transferFrom", - "offset": [ - 5317, - 5321 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "591": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "592": { - "fn": "ERC20.transferFrom", - "offset": [ - 5373, - 5411 - ], - "op": "PUSH2", - "path": "13", - "statement": 7, - "value": "0x25A" - }, - "595": { - "fn": "ERC20.transferFrom", - "offset": [ - 5389, - 5393 - ], - "op": "DUP6", - "path": "13" - }, - "596": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "DUP3", - "path": "22" - }, - "597": { - "fn": "ERC20.transferFrom", - "offset": [ - 5404, - 5410 - ], - "op": "DUP6", - "path": "13" - }, - "598": { - "fn": "ERC20.transferFrom", - "offset": [ - 5373, - 5388 - ], - "op": "PUSH2", - "path": "13", - "value": "0x47E" - }, - "601": { - "fn": "ERC20.transferFrom", - "jump": "i", - "offset": [ - 5373, - 5411 - ], - "op": "JUMP", - "path": "13" - }, - "602": { - "fn": "ERC20.transferFrom", - "offset": [ - 5373, - 5411 - ], - "op": "JUMPDEST", - "path": "13" - }, - "603": { - "fn": "ERC20.transferFrom", - "offset": [ - 5421, - 5448 - ], - "op": "PUSH2", - "path": "13", - "statement": 8, - "value": "0x265" - }, - "606": { - "fn": "ERC20.transferFrom", - "offset": [ - 5431, - 5435 - ], - "op": "DUP6", - "path": "13" - }, - "607": { - "fn": "ERC20.transferFrom", - "offset": [ - 5437, - 5439 - ], - "op": "DUP6", - "path": "13" - }, - "608": { - "fn": "ERC20.transferFrom", - "offset": [ - 5441, - 5447 - ], - "op": "DUP6", - "path": "13" - }, - "609": { - "fn": "ERC20.transferFrom", - "offset": [ - 5421, - 5430 - ], - "op": "PUSH2", - "path": "13", - "value": "0x4F8" - }, - "612": { - "fn": "ERC20.transferFrom", - "jump": "i", - "offset": [ - 5421, - 5448 - ], - "op": "JUMP", - "path": "13" - }, - "613": { - "fn": "ERC20.transferFrom", - "offset": [ - 5421, - 5448 - ], - "op": "JUMPDEST", - "path": "13" - }, - "614": { - "op": "POP" - }, - "615": { - "fn": "ERC20.transferFrom", - "offset": [ - 5465, - 5469 - ], - "op": "PUSH1", - "path": "13", - "statement": 9, - "value": "0x1" - }, - "617": { - "fn": "ERC20.transferFrom", - "offset": [ - 5465, - 5469 - ], - "op": "SWAP5", - "path": "13" - }, - "618": { - "fn": "ERC20.transferFrom", - "offset": [ - 5190, - 5476 - ], - "op": "SWAP4", - "path": "13" - }, - "619": { - "op": "POP" - }, - "620": { - "op": "POP" - }, - "621": { - "op": "POP" - }, - "622": { - "op": "POP" - }, - "623": { - "fn": "ERC20.transferFrom", - "jump": "o", - "offset": [ - 5190, - 5476 - ], - "op": "JUMP", - "path": "13" - }, - "624": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5871, - 6105 - ], - "op": "JUMPDEST", - "path": "13" - }, - "625": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 5959, - 5963 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "627": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "628": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6013, - 6077 - ], - "op": "PUSH2", - "path": "13", - "statement": 10, - "value": "0x240" - }, - "631": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "DUP2", - "path": "22" - }, - "632": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6029, - 6036 - ], - "op": "DUP6", - "path": "13" - }, - "633": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6066, - 6076 - ], - "op": "DUP6", - "path": "13" - }, - "634": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6063 - ], - "op": "PUSH2", - "path": "13", - "value": "0x283" - }, - "637": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "DUP4", - "path": "22" - }, - "638": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6029, - 6036 - ], - "op": "DUP4", - "path": "13" - }, - "639": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6047 - ], - "op": "PUSH2", - "path": "13", - "value": "0x32F" - }, - "642": { - "fn": "ERC20.increaseAllowance", - "jump": "i", - "offset": [ - 6038, - 6063 - ], - "op": "JUMP", - "path": "13" - }, - "643": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6063 - ], - "op": "JUMPDEST", - "path": "13" - }, - "644": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6076 - ], - "op": "PUSH2", - "path": "13", - "value": "0x28D" - }, - "647": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6076 - ], - "op": "SWAP2", - "path": "13" - }, - "648": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6076 - ], - "op": "SWAP1", - "path": "13" - }, - "649": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6076 - ], - "op": "PUSH2", - "path": "13", - "value": "0x7FB" - }, - "652": { - "fn": "ERC20.increaseAllowance", - "jump": "i", - "offset": [ - 6038, - 6076 - ], - "op": "JUMP", - "path": "13" - }, - "653": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6038, - 6076 - ], - "op": "JUMPDEST", - "path": "13" - }, - "654": { - "fn": "ERC20.increaseAllowance", - "offset": [ - 6013, - 6021 - ], - "op": "PUSH2", - "path": "13", - "value": "0x35A" - }, - "657": { - "fn": "ERC20.increaseAllowance", - "jump": "i", - "offset": [ - 6013, - 6077 - ], - "op": "JUMP", - "path": "13" - }, - "658": { - "fn": "ERC20.symbol", - "offset": [ - 2365, - 2467 - ], - "op": "JUMPDEST", - "path": "13" - }, - "659": { - "fn": "ERC20.symbol", - "offset": [ - 2421, - 2434 - ], - "op": "PUSH1", - "path": "13", - "value": "0x60" - }, - "661": { - "fn": "ERC20.symbol", - "offset": [ - 2453, - 2460 - ], - "op": "PUSH1", - "path": "13", - "statement": 11, - "value": "0x4" - }, - "663": { - "fn": "ERC20.symbol", - "offset": [ - 2446, - 2460 - ], - "op": "DUP1", - "path": "13" - }, - "664": { - "fn": "ERC20.symbol", - "offset": [ - 2446, - 2460 - ], - "op": "SLOAD", - "path": "13" - }, - "665": { - "fn": "ERC20.symbol", - "offset": [ - 2446, - 2460 - ], - "op": "PUSH2", - "path": "13", - "value": "0x1AF" - }, - "668": { - "fn": "ERC20.symbol", - "offset": [ - 2446, - 2460 - ], - "op": "SWAP1", - "path": "13" - }, - "669": { - "fn": "ERC20.symbol", - "offset": [ - 2446, - 2460 - ], - "op": "PUSH2", - "path": "13", - "value": "0x7C1" - }, - "672": { - "fn": "ERC20.symbol", - "jump": "i", - "offset": [ - 2446, - 2460 - ], - "op": "JUMP", - "path": "13" - }, - "673": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6592, - 7019 - ], - "op": "JUMPDEST", - "path": "13" - }, - "674": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6685, - 6689 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "676": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "677": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6685, - 6689 - ], - "op": "DUP2", - "path": "13" - }, - "678": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6766, - 6791 - ], - "op": "PUSH2", - "path": "13", - "value": "0x2AF" - }, - "681": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "DUP3", - "path": "22" - }, - "682": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6783, - 6790 - ], - "op": "DUP7", - "path": "13" - }, - "683": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6766, - 6775 - ], - "op": "PUSH2", - "path": "13", - "value": "0x32F" - }, - "686": { - "fn": "ERC20.decreaseAllowance", - "jump": "i", - "offset": [ - 6766, - 6791 - ], - "op": "JUMP", - "path": "13" - }, - "687": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6766, - 6791 - ], - "op": "JUMPDEST", - "path": "13" - }, - "688": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6739, - 6791 - ], - "op": "SWAP1", - "path": "13" - }, - "689": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6739, - 6791 - ], - "op": "POP", - "path": "13" - }, - "690": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6829, - 6844 - ], - "op": "DUP4", - "path": "13", - "statement": 12 - }, - "691": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6809, - 6825 - ], - "op": "DUP2", - "path": "13" - }, - "692": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6809, - 6844 - ], - "op": "LT", - "path": "13" - }, - "693": { - "branch": 29, - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6809, - 6844 - ], - "op": "ISZERO", - "path": "13" - }, - "694": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "PUSH2", - "path": "13", - "value": "0x314" - }, - "697": { - "branch": 29, - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "JUMPI", - "path": "13" - }, - "698": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "700": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "MLOAD", - "path": "13" - }, - "701": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "705": { - "op": "PUSH1", - "value": "0xE5" - }, - "707": { - "op": "SHL" - }, - "708": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "DUP2", - "path": "13" - }, - "709": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "MSTORE", - "path": "13" - }, - "710": { - "op": "PUSH1", - "value": "0x20" - }, - "712": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "714": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "DUP3", - "path": "13" - }, - "715": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "ADD", - "path": "13" - }, - "716": { - "op": "MSTORE" - }, - "717": { - "op": "PUSH1", - "value": "0x25" - }, - "719": { - "op": "PUSH1", - "value": "0x24" - }, - "721": { - "op": "DUP3" - }, - "722": { - "op": "ADD" - }, - "723": { - "op": "MSTORE" - }, - "724": { - "op": "PUSH32", - "value": "0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77" - }, - "757": { - "op": "PUSH1", - "value": "0x44" - }, - "759": { - "op": "DUP3" - }, - "760": { - "op": "ADD" - }, - "761": { - "op": "MSTORE" - }, - "762": { - "op": "PUSH5", - "value": "0x207A65726F" - }, - "768": { - "op": "PUSH1", - "value": "0xD8" - }, - "770": { - "op": "SHL" - }, - "771": { - "op": "PUSH1", - "value": "0x64" - }, - "773": { - "op": "DUP3" - }, - "774": { - "op": "ADD" - }, - "775": { - "op": "MSTORE" - }, - "776": { - "op": "PUSH1", - "value": "0x84" - }, - "778": { - "op": "ADD" - }, - "779": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "JUMPDEST", - "path": "13" - }, - "780": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "782": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "MLOAD", - "path": "13" - }, - "783": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "DUP1", - "path": "13" - }, - "784": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "SWAP2", - "path": "13" - }, - "785": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "SUB", - "path": "13" - }, - "786": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "SWAP1", - "path": "13" - }, - "787": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "REVERT", - "optimizer_revert": true, - "path": "13" - }, - "788": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6801, - 6886 - ], - "op": "JUMPDEST", - "path": "13" - }, - "789": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6920, - 6980 - ], - "op": "PUSH2", - "path": "13", - "statement": 13, - "value": "0x265" - }, - "792": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6929, - 6934 - ], - "op": "DUP3", - "path": "13" - }, - "793": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6936, - 6943 - ], - "op": "DUP7", - "path": "13" - }, - "794": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6964, - 6979 - ], - "op": "DUP7", - "path": "13" - }, - "795": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6945, - 6961 - ], - "op": "DUP5", - "path": "13" - }, - "796": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6945, - 6979 - ], - "op": "SUB", - "path": "13" - }, - "797": { - "fn": "ERC20.decreaseAllowance", - "offset": [ - 6920, - 6928 - ], - "op": "PUSH2", - "path": "13", - "value": "0x35A" - }, - "800": { - "fn": "ERC20.decreaseAllowance", - "jump": "i", - "offset": [ - 6920, - 6980 - ], - "op": "JUMP", - "path": "13" - }, - "801": { - "fn": "ERC20.transfer", - "offset": [ - 3727, - 3916 - ], - "op": "JUMPDEST", - "path": "13" - }, - "802": { - "fn": "ERC20.transfer", - "offset": [ - 3806, - 3810 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "804": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "805": { - "fn": "ERC20.transfer", - "offset": [ - 3860, - 3888 - ], - "op": "PUSH2", - "path": "13", - "statement": 14, - "value": "0x240" - }, - "808": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "DUP2", - "path": "22" - }, - "809": { - "fn": "ERC20.transfer", - "offset": [ - 3877, - 3879 - ], - "op": "DUP6", - "path": "13" - }, - "810": { - "fn": "ERC20.transfer", - "offset": [ - 3881, - 3887 - ], - "op": "DUP6", - "path": "13" - }, - "811": { - "fn": "ERC20.transfer", - "offset": [ - 3860, - 3869 - ], - "op": "PUSH2", - "path": "13", - "value": "0x4F8" - }, - "814": { - "fn": "ERC20.transfer", - "jump": "i", - "offset": [ - 3860, - 3888 - ], - "op": "JUMP", - "path": "13" - }, - "815": { - "fn": "ERC20.allowance", - "offset": [ - 3974, - 4123 - ], - "op": "JUMPDEST", - "path": "13" - }, - "816": { - "op": "PUSH1", - "value": "0x1" - }, - "818": { - "op": "PUSH1", - "value": "0x1" - }, - "820": { - "op": "PUSH1", - "value": "0xA0" - }, - "822": { - "op": "SHL" - }, - "823": { - "op": "SUB" - }, - "824": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "SWAP2", - "path": "13", - "statement": 15 - }, - "825": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "DUP3", - "path": "13" - }, - "826": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "AND", - "path": "13" - }, - "827": { - "fn": "ERC20.allowance", - "offset": [ - 4063, - 4070 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "829": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "SWAP1", - "path": "13" - }, - "830": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "DUP2", - "path": "13" - }, - "831": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "MSTORE", - "path": "13" - }, - "832": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4100 - ], - "op": "PUSH1", - "path": "13", - "value": "0x1" - }, - "834": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "836": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "SWAP1", - "path": "13" - }, - "837": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "DUP2", - "path": "13" - }, - "838": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "MSTORE", - "path": "13" - }, - "839": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "841": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "DUP1", - "path": "13" - }, - "842": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "DUP4", - "path": "13" - }, - "843": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4107 - ], - "op": "KECCAK256", - "path": "13" - }, - "844": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SWAP4", - "path": "13" - }, - "845": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SWAP1", - "path": "13" - }, - "846": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SWAP5", - "path": "13" - }, - "847": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "AND", - "path": "13" - }, - "848": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "DUP3", - "path": "13" - }, - "849": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "MSTORE", - "path": "13" - }, - "850": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SWAP2", - "path": "13" - }, - "851": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SWAP1", - "path": "13" - }, - "852": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SWAP2", - "path": "13" - }, - "853": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "MSTORE", - "path": "13" - }, - "854": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "KECCAK256", - "path": "13" - }, - "855": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SLOAD", - "path": "13" - }, - "856": { - "fn": "ERC20.allowance", - "offset": [ - 4089, - 4116 - ], - "op": "SWAP1", - "path": "13" - }, - "857": { - "fn": "ERC20.allowance", - "jump": "o", - "offset": [ - 3974, - 4123 - ], - "op": "JUMP", - "path": "13" - }, - "858": { - "fn": "ERC20._approve", - "offset": [ - 10504, - 10874 - ], - "op": "JUMPDEST", - "path": "13" - }, - "859": { - "op": "PUSH1", - "value": "0x1" - }, - "861": { - "op": "PUSH1", - "value": "0x1" - }, - "863": { - "op": "PUSH1", - "value": "0xA0" - }, - "865": { - "op": "SHL" - }, - "866": { - "op": "SUB" - }, - "867": { - "fn": "ERC20._approve", - "offset": [ - 10635, - 10654 - ], - "op": "DUP4", - "path": "13", - "statement": 16 - }, - "868": { - "branch": 30, - "fn": "ERC20._approve", - "offset": [ - 10635, - 10654 - ], - "op": "AND", - "path": "13" - }, - "869": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "PUSH2", - "path": "13", - "value": "0x3BC" - }, - "872": { - "branch": 30, - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "JUMPI", - "path": "13" - }, - "873": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "875": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "MLOAD", - "path": "13" - }, - "876": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "880": { - "op": "PUSH1", - "value": "0xE5" - }, - "882": { - "op": "SHL" - }, - "883": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "DUP2", - "path": "13" - }, - "884": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "MSTORE", - "path": "13" - }, - "885": { - "op": "PUSH1", - "value": "0x20" - }, - "887": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "889": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "DUP3", - "path": "13" - }, - "890": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "ADD", - "path": "13" - }, - "891": { - "op": "MSTORE" - }, - "892": { - "op": "PUSH1", - "value": "0x24" - }, - "894": { - "op": "DUP1" - }, - "895": { - "op": "DUP3" - }, - "896": { - "op": "ADD" - }, - "897": { - "op": "MSTORE" - }, - "898": { - "op": "PUSH32", - "value": "0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464" - }, - "931": { - "op": "PUSH1", - "value": "0x44" - }, - "933": { - "op": "DUP3" - }, - "934": { - "op": "ADD" - }, - "935": { - "op": "MSTORE" - }, - "936": { - "op": "PUSH4", - "value": "0x72657373" - }, - "941": { - "op": "PUSH1", - "value": "0xE0" - }, - "943": { - "op": "SHL" - }, - "944": { - "op": "PUSH1", - "value": "0x64" - }, - "946": { - "op": "DUP3" - }, - "947": { - "op": "ADD" - }, - "948": { - "op": "MSTORE" - }, - "949": { - "op": "PUSH1", - "value": "0x84" - }, - "951": { - "op": "ADD" - }, - "952": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "PUSH2", - "path": "13", - "value": "0x30B" - }, - "955": { - "op": "JUMP" - }, - "956": { - "fn": "ERC20._approve", - "offset": [ - 10627, - 10695 - ], - "op": "JUMPDEST", - "path": "13" - }, - "957": { - "op": "PUSH1", - "value": "0x1" - }, - "959": { - "op": "PUSH1", - "value": "0x1" - }, - "961": { - "op": "PUSH1", - "value": "0xA0" - }, - "963": { - "op": "SHL" - }, - "964": { - "op": "SUB" - }, - "965": { - "fn": "ERC20._approve", - "offset": [ - 10713, - 10734 - ], - "op": "DUP3", - "path": "13", - "statement": 17 - }, - "966": { - "branch": 31, - "fn": "ERC20._approve", - "offset": [ - 10713, - 10734 - ], - "op": "AND", - "path": "13" - }, - "967": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "PUSH2", - "path": "13", - "value": "0x41D" - }, - "970": { - "branch": 31, - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "JUMPI", - "path": "13" - }, - "971": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "973": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "MLOAD", - "path": "13" - }, - "974": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "978": { - "op": "PUSH1", - "value": "0xE5" - }, - "980": { - "op": "SHL" - }, - "981": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "DUP2", - "path": "13" - }, - "982": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "MSTORE", - "path": "13" - }, - "983": { - "op": "PUSH1", - "value": "0x20" - }, - "985": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "987": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "DUP3", - "path": "13" - }, - "988": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "ADD", - "path": "13" - }, - "989": { - "op": "MSTORE" - }, - "990": { - "op": "PUSH1", - "value": "0x22" - }, - "992": { - "op": "PUSH1", - "value": "0x24" - }, - "994": { - "op": "DUP3" - }, - "995": { - "op": "ADD" - }, - "996": { - "op": "MSTORE" - }, - "997": { - "op": "PUSH32", - "value": "0x45524332303A20617070726F766520746F20746865207A65726F206164647265" - }, - "1030": { - "op": "PUSH1", - "value": "0x44" - }, - "1032": { - "op": "DUP3" - }, - "1033": { - "op": "ADD" - }, - "1034": { - "op": "MSTORE" - }, - "1035": { - "op": "PUSH2", - "value": "0x7373" - }, - "1038": { - "op": "PUSH1", - "value": "0xF0" - }, - "1040": { - "op": "SHL" - }, - "1041": { - "op": "PUSH1", - "value": "0x64" - }, - "1043": { - "op": "DUP3" - }, - "1044": { - "op": "ADD" - }, - "1045": { - "op": "MSTORE" - }, - "1046": { - "op": "PUSH1", - "value": "0x84" - }, - "1048": { - "op": "ADD" - }, - "1049": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "PUSH2", - "path": "13", - "value": "0x30B" - }, - "1052": { - "op": "JUMP" - }, - "1053": { - "fn": "ERC20._approve", - "offset": [ - 10705, - 10773 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1054": { - "op": "PUSH1", - "value": "0x1" - }, - "1056": { - "op": "PUSH1", - "value": "0x1" - }, - "1058": { - "op": "PUSH1", - "value": "0xA0" - }, - "1060": { - "op": "SHL" - }, - "1061": { - "op": "SUB" - }, - "1062": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "DUP4", - "path": "13", - "statement": 18 - }, - "1063": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "DUP2", - "path": "13" - }, - "1064": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "AND", - "path": "13" - }, - "1065": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "1067": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "DUP2", - "path": "13" - }, - "1068": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "DUP2", - "path": "13" - }, - "1069": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "MSTORE", - "path": "13" - }, - "1070": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10795 - ], - "op": "PUSH1", - "path": "13", - "value": "0x1" - }, - "1072": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "1074": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "SWAP1", - "path": "13" - }, - "1075": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "DUP2", - "path": "13" - }, - "1076": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "MSTORE", - "path": "13" - }, - "1077": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1079": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "DUP1", - "path": "13" - }, - "1080": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "DUP4", - "path": "13" - }, - "1081": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10802 - ], - "op": "KECCAK256", - "path": "13" - }, - "1082": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "SWAP5", - "path": "13" - }, - "1083": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "DUP8", - "path": "13" - }, - "1084": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "AND", - "path": "13" - }, - "1085": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "DUP1", - "path": "13" - }, - "1086": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "DUP5", - "path": "13" - }, - "1087": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "MSTORE", - "path": "13" - }, - "1088": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "SWAP5", - "path": "13" - }, - "1089": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "DUP3", - "path": "13" - }, - "1090": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "MSTORE", - "path": "13" - }, - "1091": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "SWAP2", - "path": "13" - }, - "1092": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "DUP3", - "path": "13" - }, - "1093": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "SWAP1", - "path": "13" - }, - "1094": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10811 - ], - "op": "KECCAK256", - "path": "13" - }, - "1095": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10820 - ], - "op": "DUP6", - "path": "13" - }, - "1096": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10820 - ], - "op": "SWAP1", - "path": "13" - }, - "1097": { - "fn": "ERC20._approve", - "offset": [ - 10784, - 10820 - ], - "op": "SSTORE", - "path": "13" - }, - "1098": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "SWAP1", - "path": "13", - "statement": 19 - }, - "1099": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "MLOAD", - "path": "13" - }, - "1100": { - "op": "DUP5" - }, - "1101": { - "op": "DUP2" - }, - "1102": { - "op": "MSTORE" - }, - "1103": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "PUSH32", - "path": "13", - "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" - }, - "1136": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "SWAP2", - "path": "13" - }, - "1137": { - "op": "ADD" - }, - "1138": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1140": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "MLOAD", - "path": "13" - }, - "1141": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "DUP1", - "path": "13" - }, - "1142": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "SWAP2", - "path": "13" - }, - "1143": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "SUB", - "path": "13" - }, - "1144": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "SWAP1", - "path": "13" - }, - "1145": { - "fn": "ERC20._approve", - "offset": [ - 10835, - 10867 - ], - "op": "LOG3", - "path": "13" - }, - "1146": { - "fn": "ERC20._approve", - "offset": [ - 10504, - 10874 - ], - "op": "POP", - "path": "13" - }, - "1147": { - "fn": "ERC20._approve", - "offset": [ - 10504, - 10874 - ], - "op": "POP", - "path": "13" - }, - "1148": { - "fn": "ERC20._approve", - "offset": [ - 10504, - 10874 - ], - "op": "POP", - "path": "13" - }, - "1149": { - "fn": "ERC20._approve", - "jump": "o", - "offset": [ - 10504, - 10874 - ], - "op": "JUMP", - "path": "13" - }, - "1150": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11155, - 11596 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1151": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11285, - 11309 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "1153": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11312, - 11337 - ], - "op": "PUSH2", - "path": "13", - "value": "0x48A" - }, - "1156": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11322, - 11327 - ], - "op": "DUP5", - "path": "13" - }, - "1157": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11329, - 11336 - ], - "op": "DUP5", - "path": "13" - }, - "1158": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11312, - 11321 - ], - "op": "PUSH2", - "path": "13", - "value": "0x32F" - }, - "1161": { - "fn": "ERC20._spendAllowance", - "jump": "i", - "offset": [ - 11312, - 11337 - ], - "op": "JUMP", - "path": "13" - }, - "1162": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11312, - 11337 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1163": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11285, - 11337 - ], - "op": "SWAP1", - "path": "13" - }, - "1164": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11285, - 11337 - ], - "op": "POP", - "path": "13" - }, - "1165": { - "op": "PUSH1", - "value": "0x0" - }, - "1167": { - "op": "NOT" - }, - "1168": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11351, - 11367 - ], - "op": "DUP2", - "path": "13" - }, - "1169": { - "branch": 32, - "fn": "ERC20._spendAllowance", - "offset": [ - 11351, - 11388 - ], - "op": "EQ", - "path": "13" - }, - "1170": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11347, - 11590 - ], - "op": "PUSH2", - "path": "13", - "value": "0x4F2" - }, - "1173": { - "branch": 32, - "fn": "ERC20._spendAllowance", - "offset": [ - 11347, - 11590 - ], - "op": "JUMPI", - "path": "13" - }, - "1174": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11432, - 11438 - ], - "op": "DUP2", - "path": "13", - "statement": 20 - }, - "1175": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11412, - 11428 - ], - "op": "DUP2", - "path": "13" - }, - "1176": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11412, - 11438 - ], - "op": "LT", - "path": "13" - }, - "1177": { - "branch": 33, - "fn": "ERC20._spendAllowance", - "offset": [ - 11412, - 11438 - ], - "op": "ISZERO", - "path": "13" - }, - "1178": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "PUSH2", - "path": "13", - "value": "0x4E5" - }, - "1181": { - "branch": 33, - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "JUMPI", - "path": "13" - }, - "1182": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1184": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "MLOAD", - "path": "13" - }, - "1185": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "1189": { - "op": "PUSH1", - "value": "0xE5" - }, - "1191": { - "op": "SHL" - }, - "1192": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "DUP2", - "path": "13" - }, - "1193": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "MSTORE", - "path": "13" - }, - "1194": { - "op": "PUSH1", - "value": "0x20" - }, - "1196": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "1198": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "DUP3", - "path": "13" - }, - "1199": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "ADD", - "path": "13" - }, - "1200": { - "op": "MSTORE" - }, - "1201": { - "op": "PUSH1", - "value": "0x1D" - }, - "1203": { - "op": "PUSH1", - "value": "0x24" - }, - "1205": { - "op": "DUP3" - }, - "1206": { - "op": "ADD" - }, - "1207": { - "op": "MSTORE" - }, - "1208": { - "op": "PUSH32", - "value": "0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000" - }, - "1241": { - "op": "PUSH1", - "value": "0x44" - }, - "1243": { - "op": "DUP3" - }, - "1244": { - "op": "ADD" - }, - "1245": { - "op": "MSTORE" - }, - "1246": { - "op": "PUSH1", - "value": "0x64" - }, - "1248": { - "op": "ADD" - }, - "1249": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "PUSH2", - "path": "13", - "value": "0x30B" - }, - "1252": { - "op": "JUMP" - }, - "1253": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11404, - 11472 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1254": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11514, - 11565 - ], - "op": "PUSH2", - "path": "13", - "statement": 21, - "value": "0x4F2" - }, - "1257": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11523, - 11528 - ], - "op": "DUP5", - "path": "13" - }, - "1258": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11530, - 11537 - ], - "op": "DUP5", - "path": "13" - }, - "1259": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11558, - 11564 - ], - "op": "DUP5", - "path": "13" - }, - "1260": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11539, - 11555 - ], - "op": "DUP5", - "path": "13" - }, - "1261": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11539, - 11564 - ], - "op": "SUB", - "path": "13" - }, - "1262": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11514, - 11522 - ], - "op": "PUSH2", - "path": "13", - "value": "0x35A" - }, - "1265": { - "fn": "ERC20._spendAllowance", - "jump": "i", - "offset": [ - 11514, - 11565 - ], - "op": "JUMP", - "path": "13" - }, - "1266": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11514, - 11565 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1267": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11275, - 11596 - ], - "op": "POP", - "path": "13" - }, - "1268": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11155, - 11596 - ], - "op": "POP", - "path": "13" - }, - "1269": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11155, - 11596 - ], - "op": "POP", - "path": "13" - }, - "1270": { - "fn": "ERC20._spendAllowance", - "offset": [ - 11155, - 11596 - ], - "op": "POP", - "path": "13" - }, - "1271": { - "fn": "ERC20._spendAllowance", - "jump": "o", - "offset": [ - 11155, - 11596 - ], - "op": "JUMP", - "path": "13" - }, - "1272": { - "fn": "ERC20._transfer", - "offset": [ - 7473, - 8291 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1273": { - "op": "PUSH1", - "value": "0x1" - }, - "1275": { - "op": "PUSH1", - "value": "0x1" - }, - "1277": { - "op": "PUSH1", - "value": "0xA0" - }, - "1279": { - "op": "SHL" - }, - "1280": { - "op": "SUB" - }, - "1281": { - "fn": "ERC20._transfer", - "offset": [ - 7599, - 7617 - ], - "op": "DUP4", - "path": "13", - "statement": 22 - }, - "1282": { - "branch": 34, - "fn": "ERC20._transfer", - "offset": [ - 7599, - 7617 - ], - "op": "AND", - "path": "13" - }, - "1283": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "PUSH2", - "path": "13", - "value": "0x55C" - }, - "1286": { - "branch": 34, - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "JUMPI", - "path": "13" - }, - "1287": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1289": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "MLOAD", - "path": "13" - }, - "1290": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "1294": { - "op": "PUSH1", - "value": "0xE5" - }, - "1296": { - "op": "SHL" - }, - "1297": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "DUP2", - "path": "13" - }, - "1298": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "MSTORE", - "path": "13" - }, - "1299": { - "op": "PUSH1", - "value": "0x20" - }, - "1301": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "1303": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "DUP3", - "path": "13" - }, - "1304": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "ADD", - "path": "13" - }, - "1305": { - "op": "MSTORE" - }, - "1306": { - "op": "PUSH1", - "value": "0x25" - }, - "1308": { - "op": "PUSH1", - "value": "0x24" - }, - "1310": { - "op": "DUP3" - }, - "1311": { - "op": "ADD" - }, - "1312": { - "op": "MSTORE" - }, - "1313": { - "op": "PUSH32", - "value": "0x45524332303A207472616E736665722066726F6D20746865207A65726F206164" - }, - "1346": { - "op": "PUSH1", - "value": "0x44" - }, - "1348": { - "op": "DUP3" - }, - "1349": { - "op": "ADD" - }, - "1350": { - "op": "MSTORE" - }, - "1351": { - "op": "PUSH5", - "value": "0x6472657373" - }, - "1357": { - "op": "PUSH1", - "value": "0xD8" - }, - "1359": { - "op": "SHL" - }, - "1360": { - "op": "PUSH1", - "value": "0x64" - }, - "1362": { - "op": "DUP3" - }, - "1363": { - "op": "ADD" - }, - "1364": { - "op": "MSTORE" - }, - "1365": { - "op": "PUSH1", - "value": "0x84" - }, - "1367": { - "op": "ADD" - }, - "1368": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "PUSH2", - "path": "13", - "value": "0x30B" - }, - "1371": { - "op": "JUMP" - }, - "1372": { - "fn": "ERC20._transfer", - "offset": [ - 7591, - 7659 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1373": { - "op": "PUSH1", - "value": "0x1" - }, - "1375": { - "op": "PUSH1", - "value": "0x1" - }, - "1377": { - "op": "PUSH1", - "value": "0xA0" - }, - "1379": { - "op": "SHL" - }, - "1380": { - "op": "SUB" - }, - "1381": { - "fn": "ERC20._transfer", - "offset": [ - 7677, - 7693 - ], - "op": "DUP3", - "path": "13", - "statement": 23 - }, - "1382": { - "branch": 35, - "fn": "ERC20._transfer", - "offset": [ - 7677, - 7693 - ], - "op": "AND", - "path": "13" - }, - "1383": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "PUSH2", - "path": "13", - "value": "0x5BE" - }, - "1386": { - "branch": 35, - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "JUMPI", - "path": "13" - }, - "1387": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1389": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "MLOAD", - "path": "13" - }, - "1390": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "1394": { - "op": "PUSH1", - "value": "0xE5" - }, - "1396": { - "op": "SHL" - }, - "1397": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "DUP2", - "path": "13" - }, - "1398": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "MSTORE", - "path": "13" - }, - "1399": { - "op": "PUSH1", - "value": "0x20" - }, - "1401": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "1403": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "DUP3", - "path": "13" - }, - "1404": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "ADD", - "path": "13" - }, - "1405": { - "op": "MSTORE" - }, - "1406": { - "op": "PUSH1", - "value": "0x23" - }, - "1408": { - "op": "PUSH1", - "value": "0x24" - }, - "1410": { - "op": "DUP3" - }, - "1411": { - "op": "ADD" - }, - "1412": { - "op": "MSTORE" - }, - "1413": { - "op": "PUSH32", - "value": "0x45524332303A207472616E7366657220746F20746865207A65726F2061646472" - }, - "1446": { - "op": "PUSH1", - "value": "0x44" - }, - "1448": { - "op": "DUP3" - }, - "1449": { - "op": "ADD" - }, - "1450": { - "op": "MSTORE" - }, - "1451": { - "op": "PUSH3", - "value": "0x657373" - }, - "1455": { - "op": "PUSH1", - "value": "0xE8" - }, - "1457": { - "op": "SHL" - }, - "1458": { - "op": "PUSH1", - "value": "0x64" - }, - "1460": { - "op": "DUP3" - }, - "1461": { - "op": "ADD" - }, - "1462": { - "op": "MSTORE" - }, - "1463": { - "op": "PUSH1", - "value": "0x84" - }, - "1465": { - "op": "ADD" - }, - "1466": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "PUSH2", - "path": "13", - "value": "0x30B" - }, - "1469": { - "op": "JUMP" - }, - "1470": { - "fn": "ERC20._transfer", - "offset": [ - 7669, - 7733 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1471": { - "op": "PUSH1", - "value": "0x1" - }, - "1473": { - "op": "PUSH1", - "value": "0x1" - }, - "1475": { - "op": "PUSH1", - "value": "0xA0" - }, - "1477": { - "op": "SHL" - }, - "1478": { - "op": "SUB" - }, - "1479": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "DUP4", - "path": "13" - }, - "1480": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "AND", - "path": "13" - }, - "1481": { - "fn": "ERC20._transfer", - "offset": [ - 7793, - 7812 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "1483": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "SWAP1", - "path": "13" - }, - "1484": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "DUP2", - "path": "13" - }, - "1485": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "MSTORE", - "path": "13" - }, - "1486": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "1488": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "DUP2", - "path": "13" - }, - "1489": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "SWAP1", - "path": "13" - }, - "1490": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "MSTORE", - "path": "13" - }, - "1491": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1493": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "SWAP1", - "path": "13" - }, - "1494": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "KECCAK256", - "path": "13" - }, - "1495": { - "fn": "ERC20._transfer", - "offset": [ - 7815, - 7830 - ], - "op": "SLOAD", - "path": "13" - }, - "1496": { - "fn": "ERC20._transfer", - "offset": [ - 7848, - 7869 - ], - "op": "DUP2", - "path": "13", - "statement": 24 - }, - "1497": { - "fn": "ERC20._transfer", - "offset": [ - 7848, - 7869 - ], - "op": "DUP2", - "path": "13" - }, - "1498": { - "fn": "ERC20._transfer", - "offset": [ - 7848, - 7869 - ], - "op": "LT", - "path": "13" - }, - "1499": { - "branch": 36, - "fn": "ERC20._transfer", - "offset": [ - 7848, - 7869 - ], - "op": "ISZERO", - "path": "13" - }, - "1500": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "PUSH2", - "path": "13", - "value": "0x636" - }, - "1503": { - "branch": 36, - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "JUMPI", - "path": "13" - }, - "1504": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1506": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "MLOAD", - "path": "13" - }, - "1507": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "1511": { - "op": "PUSH1", - "value": "0xE5" - }, - "1513": { - "op": "SHL" - }, - "1514": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "DUP2", - "path": "13" - }, - "1515": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "MSTORE", - "path": "13" - }, - "1516": { - "op": "PUSH1", - "value": "0x20" - }, - "1518": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "PUSH1", - "path": "13", - "value": "0x4" - }, - "1520": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "DUP3", - "path": "13" - }, - "1521": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "ADD", - "path": "13" - }, - "1522": { - "op": "MSTORE" - }, - "1523": { - "op": "PUSH1", - "value": "0x26" - }, - "1525": { - "op": "PUSH1", - "value": "0x24" - }, - "1527": { - "op": "DUP3" - }, - "1528": { - "op": "ADD" - }, - "1529": { - "op": "MSTORE" - }, - "1530": { - "op": "PUSH32", - "value": "0x45524332303A207472616E7366657220616D6F756E7420657863656564732062" - }, - "1563": { - "op": "PUSH1", - "value": "0x44" - }, - "1565": { - "op": "DUP3" - }, - "1566": { - "op": "ADD" - }, - "1567": { - "op": "MSTORE" - }, - "1568": { - "op": "PUSH6", - "value": "0x616C616E6365" - }, - "1575": { - "op": "PUSH1", - "value": "0xD0" - }, - "1577": { - "op": "SHL" - }, - "1578": { - "op": "PUSH1", - "value": "0x64" - }, - "1580": { - "op": "DUP3" - }, - "1581": { - "op": "ADD" - }, - "1582": { - "op": "MSTORE" - }, - "1583": { - "op": "PUSH1", - "value": "0x84" - }, - "1585": { - "op": "ADD" - }, - "1586": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "PUSH2", - "path": "13", - "value": "0x30B" - }, - "1589": { - "op": "JUMP" - }, - "1590": { - "fn": "ERC20._transfer", - "offset": [ - 7840, - 7912 - ], - "op": "JUMPDEST", - "path": "13" - }, - "1591": { - "op": "PUSH1", - "value": "0x1" - }, - "1593": { - "op": "PUSH1", - "value": "0x1" - }, - "1595": { - "op": "PUSH1", - "value": "0xA0" - }, - "1597": { - "op": "SHL" - }, - "1598": { - "op": "SUB" - }, - "1599": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP5", - "path": "13", - "statement": 25 - }, - "1600": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP2", - "path": "13" - }, - "1601": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "AND", - "path": "13" - }, - "1602": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7955 - ], - "op": "PUSH1", - "path": "13", - "value": "0x0" - }, - "1604": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP2", - "path": "13" - }, - "1605": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP2", - "path": "13" - }, - "1606": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "MSTORE", - "path": "13" - }, - "1607": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "PUSH1", - "path": "13", - "value": "0x20" - }, - "1609": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP2", - "path": "13" - }, - "1610": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP2", - "path": "13" - }, - "1611": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "MSTORE", - "path": "13" - }, - "1612": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1614": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP1", - "path": "13" - }, - "1615": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "DUP4", - "path": "13" - }, - "1616": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7961 - ], - "op": "KECCAK256", - "path": "13" - }, - "1617": { - "fn": "ERC20._transfer", - "offset": [ - 7964, - 7984 - ], - "op": "DUP8", - "path": "13" - }, - "1618": { - "fn": "ERC20._transfer", - "offset": [ - 7964, - 7984 - ], - "op": "DUP8", - "path": "13" - }, - "1619": { - "fn": "ERC20._transfer", - "offset": [ - 7964, - 7984 - ], - "op": "SUB", - "path": "13" - }, - "1620": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7984 - ], - "op": "SWAP1", - "path": "13" - }, - "1621": { - "fn": "ERC20._transfer", - "offset": [ - 7946, - 7984 - ], - "op": "SSTORE", - "path": "13" - }, - "1622": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "SWAP4", - "path": "13", - "statement": 26 - }, - "1623": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "DUP8", - "path": "13" - }, - "1624": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "AND", - "path": "13" - }, - "1625": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "DUP1", - "path": "13" - }, - "1626": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "DUP4", - "path": "13" - }, - "1627": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "MSTORE", - "path": "13" - }, - "1628": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "SWAP2", - "path": "13" - }, - "1629": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "DUP5", - "path": "13" - }, - "1630": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "SWAP1", - "path": "13" - }, - "1631": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "KECCAK256", - "path": "13" - }, - "1632": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8184 - ], - "op": "DUP1", - "path": "13" - }, - "1633": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8184 - ], - "op": "SLOAD", - "path": "13" - }, - "1634": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8184 - ], - "op": "DUP8", - "path": "13" - }, - "1635": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8184 - ], - "op": "ADD", - "path": "13" - }, - "1636": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8184 - ], - "op": "SWAP1", - "path": "13" - }, - "1637": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8184 - ], - "op": "SSTORE", - "path": "13" - }, - "1638": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "SWAP3", - "path": "13", - "statement": 27 - }, - "1639": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "MLOAD", - "path": "13" - }, - "1640": { - "op": "DUP6" - }, - "1641": { - "op": "DUP2" - }, - "1642": { - "op": "MSTORE" - }, - "1643": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "SWAP1", - "path": "13" - }, - "1644": { - "fn": "ERC20._transfer", - "offset": [ - 8161, - 8174 - ], - "op": "SWAP3", - "path": "13" - }, - "1645": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "PUSH32", - "path": "13", - "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" - }, - "1678": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "SWAP2", - "path": "13" - }, - "1679": { - "op": "ADD" - }, - "1680": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "PUSH1", - "path": "13", - "value": "0x40" - }, - "1682": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "MLOAD", - "path": "13" - }, - "1683": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "DUP1", - "path": "13" - }, - "1684": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "SWAP2", - "path": "13" - }, - "1685": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "SUB", - "path": "13" - }, - "1686": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "SWAP1", - "path": "13" - }, - "1687": { - "fn": "ERC20._transfer", - "offset": [ - 8210, - 8236 - ], - "op": "LOG3", - "path": "13" - }, - "1688": { - "fn": "ERC20._transfer", - "offset": [ - 8247, - 8284 - ], - "op": "PUSH2", - "path": "13", - "statement": 28, - "value": "0x4F2" - }, - "1691": { - "fn": "ERC20._beforeTokenTransfer", - "offset": [ - 12180, - 12301 - ], - "op": "JUMP", - "path": "13" - }, - "1692": { - "op": "JUMPDEST" - }, - "1693": { - "op": "PUSH1", - "value": "0x0" - }, - "1695": { - "op": "PUSH1", - "value": "0x20" - }, - "1697": { - "op": "DUP1" - }, - "1698": { - "op": "DUP4" - }, - "1699": { - "op": "MSTORE" - }, - "1700": { - "op": "DUP4" - }, - "1701": { - "op": "MLOAD" - }, - "1702": { - "op": "DUP1" - }, - "1703": { - "op": "DUP3" - }, - "1704": { - "op": "DUP6" - }, - "1705": { - "op": "ADD" - }, - "1706": { - "op": "MSTORE" - }, - "1707": { - "op": "PUSH1", - "value": "0x0" - }, - "1709": { - "op": "JUMPDEST" - }, - "1710": { - "op": "DUP2" - }, - "1711": { - "op": "DUP2" - }, - "1712": { - "op": "LT" - }, - "1713": { - "op": "ISZERO" - }, - "1714": { - "op": "PUSH2", - "value": "0x6C9" - }, - "1717": { - "op": "JUMPI" - }, - "1718": { - "op": "DUP6" - }, - "1719": { - "op": "DUP2" - }, - "1720": { - "op": "ADD" - }, - "1721": { - "op": "DUP4" - }, - "1722": { - "op": "ADD" - }, - "1723": { - "op": "MLOAD" - }, - "1724": { - "op": "DUP6" - }, - "1725": { - "op": "DUP3" - }, - "1726": { - "op": "ADD" - }, - "1727": { - "op": "PUSH1", - "value": "0x40" - }, - "1729": { - "op": "ADD" - }, - "1730": { - "op": "MSTORE" - }, - "1731": { - "op": "DUP3" - }, - "1732": { - "op": "ADD" - }, - "1733": { - "op": "PUSH2", - "value": "0x6AD" - }, - "1736": { - "op": "JUMP" - }, - "1737": { - "op": "JUMPDEST" - }, - "1738": { - "op": "POP" - }, - "1739": { - "op": "PUSH1", - "value": "0x0" - }, - "1741": { - "op": "PUSH1", - "value": "0x40" - }, - "1743": { - "op": "DUP3" - }, - "1744": { - "op": "DUP7" - }, - "1745": { - "op": "ADD" - }, - "1746": { - "op": "ADD" - }, - "1747": { - "op": "MSTORE" - }, - "1748": { - "op": "PUSH1", - "value": "0x40" - }, - "1750": { - "op": "PUSH1", - "value": "0x1F" - }, - "1752": { - "op": "NOT" - }, - "1753": { - "op": "PUSH1", - "value": "0x1F" - }, - "1755": { - "op": "DUP4" - }, - "1756": { - "op": "ADD" - }, - "1757": { - "op": "AND" - }, - "1758": { - "op": "DUP6" - }, - "1759": { - "op": "ADD" - }, - "1760": { - "op": "ADD" - }, - "1761": { - "op": "SWAP3" - }, - "1762": { - "op": "POP" - }, - "1763": { - "op": "POP" - }, - "1764": { - "op": "POP" - }, - "1765": { - "op": "SWAP3" - }, - "1766": { - "op": "SWAP2" - }, - "1767": { - "op": "POP" - }, - "1768": { - "op": "POP" - }, - "1769": { - "jump": "o", - "op": "JUMP" - }, - "1770": { - "op": "JUMPDEST" - }, - "1771": { - "op": "DUP1" - }, - "1772": { - "op": "CALLDATALOAD" - }, - "1773": { - "op": "PUSH1", - "value": "0x1" - }, - "1775": { - "op": "PUSH1", - "value": "0x1" - }, - "1777": { - "op": "PUSH1", - "value": "0xA0" - }, - "1779": { - "op": "SHL" - }, - "1780": { - "op": "SUB" - }, - "1781": { - "op": "DUP2" - }, - "1782": { - "op": "AND" - }, - "1783": { - "op": "DUP2" - }, - "1784": { - "op": "EQ" - }, - "1785": { - "op": "PUSH2", - "value": "0x701" - }, - "1788": { - "op": "JUMPI" - }, - "1789": { - "op": "PUSH1", - "value": "0x0" - }, - "1791": { - "op": "DUP1" - }, - "1792": { - "op": "REVERT" - }, - "1793": { - "op": "JUMPDEST" - }, - "1794": { - "op": "SWAP2" - }, - "1795": { - "op": "SWAP1" - }, - "1796": { - "op": "POP" - }, - "1797": { - "jump": "o", - "op": "JUMP" - }, - "1798": { - "op": "JUMPDEST" - }, - "1799": { - "op": "PUSH1", - "value": "0x0" - }, - "1801": { - "op": "DUP1" - }, - "1802": { - "op": "PUSH1", - "value": "0x40" - }, - "1804": { - "op": "DUP4" - }, - "1805": { - "op": "DUP6" - }, - "1806": { - "op": "SUB" - }, - "1807": { - "op": "SLT" - }, - "1808": { - "op": "ISZERO" - }, - "1809": { - "op": "PUSH2", - "value": "0x719" - }, - "1812": { - "op": "JUMPI" - }, - "1813": { - "op": "PUSH1", - "value": "0x0" - }, - "1815": { - "op": "DUP1" - }, - "1816": { - "op": "REVERT" - }, - "1817": { - "op": "JUMPDEST" - }, - "1818": { - "op": "PUSH2", - "value": "0x722" - }, - "1821": { - "op": "DUP4" - }, - "1822": { - "op": "PUSH2", - "value": "0x6EA" - }, - "1825": { - "jump": "i", - "op": "JUMP" - }, - "1826": { - "op": "JUMPDEST" - }, - "1827": { - "op": "SWAP5" - }, - "1828": { - "op": "PUSH1", - "value": "0x20" - }, - "1830": { - "op": "SWAP4" - }, - "1831": { - "op": "SWAP1" - }, - "1832": { - "op": "SWAP4" - }, - "1833": { - "op": "ADD" - }, - "1834": { - "op": "CALLDATALOAD" - }, - "1835": { - "op": "SWAP4" - }, - "1836": { - "op": "POP" - }, - "1837": { - "op": "POP" - }, - "1838": { - "op": "POP" - }, - "1839": { - "jump": "o", - "op": "JUMP" - }, - "1840": { - "op": "JUMPDEST" - }, - "1841": { - "op": "PUSH1", - "value": "0x0" - }, - "1843": { - "op": "DUP1" - }, - "1844": { - "op": "PUSH1", - "value": "0x0" - }, - "1846": { - "op": "PUSH1", - "value": "0x60" - }, - "1848": { - "op": "DUP5" - }, - "1849": { - "op": "DUP7" - }, - "1850": { - "op": "SUB" - }, - "1851": { - "op": "SLT" - }, - "1852": { - "op": "ISZERO" - }, - "1853": { - "op": "PUSH2", - "value": "0x745" - }, - "1856": { - "op": "JUMPI" - }, - "1857": { - "op": "PUSH1", - "value": "0x0" - }, - "1859": { - "op": "DUP1" - }, - "1860": { - "op": "REVERT" - }, - "1861": { - "op": "JUMPDEST" - }, - "1862": { - "op": "PUSH2", - "value": "0x74E" - }, - "1865": { - "op": "DUP5" - }, - "1866": { - "op": "PUSH2", - "value": "0x6EA" - }, - "1869": { - "jump": "i", - "op": "JUMP" - }, - "1870": { - "op": "JUMPDEST" - }, - "1871": { - "op": "SWAP3" - }, - "1872": { - "op": "POP" - }, - "1873": { - "op": "PUSH2", - "value": "0x75C" - }, - "1876": { - "op": "PUSH1", - "value": "0x20" - }, - "1878": { - "op": "DUP6" - }, - "1879": { - "op": "ADD" - }, - "1880": { - "op": "PUSH2", - "value": "0x6EA" - }, - "1883": { - "jump": "i", - "op": "JUMP" - }, - "1884": { - "op": "JUMPDEST" - }, - "1885": { - "op": "SWAP2" - }, - "1886": { - "op": "POP" - }, - "1887": { - "op": "PUSH1", - "value": "0x40" - }, - "1889": { - "op": "DUP5" - }, - "1890": { - "op": "ADD" - }, - "1891": { - "op": "CALLDATALOAD" - }, - "1892": { - "op": "SWAP1" - }, - "1893": { - "op": "POP" - }, - "1894": { - "op": "SWAP3" - }, - "1895": { - "op": "POP" - }, - "1896": { - "op": "SWAP3" - }, - "1897": { - "op": "POP" - }, - "1898": { - "op": "SWAP3" - }, - "1899": { - "jump": "o", - "op": "JUMP" - }, - "1900": { - "op": "JUMPDEST" - }, - "1901": { - "op": "PUSH1", - "value": "0x0" - }, - "1903": { - "op": "PUSH1", - "value": "0x20" - }, - "1905": { - "op": "DUP3" - }, - "1906": { - "op": "DUP5" - }, - "1907": { - "op": "SUB" - }, - "1908": { - "op": "SLT" - }, - "1909": { - "op": "ISZERO" - }, - "1910": { - "op": "PUSH2", - "value": "0x77E" - }, - "1913": { - "op": "JUMPI" - }, - "1914": { - "op": "PUSH1", - "value": "0x0" - }, - "1916": { - "op": "DUP1" - }, - "1917": { - "op": "REVERT" - }, - "1918": { - "op": "JUMPDEST" - }, - "1919": { - "op": "PUSH2", - "value": "0x787" - }, - "1922": { - "op": "DUP3" - }, - "1923": { - "op": "PUSH2", - "value": "0x6EA" - }, - "1926": { - "jump": "i", - "op": "JUMP" - }, - "1927": { - "op": "JUMPDEST" - }, - "1928": { - "op": "SWAP4" - }, - "1929": { - "op": "SWAP3" - }, - "1930": { - "op": "POP" - }, - "1931": { - "op": "POP" - }, - "1932": { - "op": "POP" - }, - "1933": { - "jump": "o", - "op": "JUMP" - }, - "1934": { - "op": "JUMPDEST" - }, - "1935": { - "op": "PUSH1", - "value": "0x0" - }, - "1937": { - "op": "DUP1" - }, - "1938": { - "op": "PUSH1", - "value": "0x40" - }, - "1940": { - "op": "DUP4" - }, - "1941": { - "op": "DUP6" - }, - "1942": { - "op": "SUB" - }, - "1943": { - "op": "SLT" - }, - "1944": { - "op": "ISZERO" - }, - "1945": { - "op": "PUSH2", - "value": "0x7A1" - }, - "1948": { - "op": "JUMPI" - }, - "1949": { - "op": "PUSH1", - "value": "0x0" - }, - "1951": { - "op": "DUP1" - }, - "1952": { - "op": "REVERT" - }, - "1953": { - "op": "JUMPDEST" - }, - "1954": { - "op": "PUSH2", - "value": "0x7AA" - }, - "1957": { - "op": "DUP4" - }, - "1958": { - "op": "PUSH2", - "value": "0x6EA" - }, - "1961": { - "jump": "i", - "op": "JUMP" - }, - "1962": { - "op": "JUMPDEST" - }, - "1963": { - "op": "SWAP2" - }, - "1964": { - "op": "POP" - }, - "1965": { - "op": "PUSH2", - "value": "0x7B8" - }, - "1968": { - "op": "PUSH1", - "value": "0x20" - }, - "1970": { - "op": "DUP5" - }, - "1971": { - "op": "ADD" - }, - "1972": { - "op": "PUSH2", - "value": "0x6EA" - }, - "1975": { - "jump": "i", - "op": "JUMP" - }, - "1976": { - "op": "JUMPDEST" - }, - "1977": { - "op": "SWAP1" - }, - "1978": { - "op": "POP" - }, - "1979": { - "op": "SWAP3" - }, - "1980": { - "op": "POP" - }, - "1981": { - "op": "SWAP3" - }, - "1982": { - "op": "SWAP1" - }, - "1983": { - "op": "POP" - }, - "1984": { - "jump": "o", - "op": "JUMP" - }, - "1985": { - "op": "JUMPDEST" - }, - "1986": { - "op": "PUSH1", - "value": "0x1" - }, - "1988": { - "op": "DUP2" - }, - "1989": { - "op": "DUP2" - }, - "1990": { - "op": "SHR" - }, - "1991": { - "op": "SWAP1" - }, - "1992": { - "op": "DUP3" - }, - "1993": { - "op": "AND" - }, - "1994": { - "op": "DUP1" - }, - "1995": { - "op": "PUSH2", - "value": "0x7D5" - }, - "1998": { - "op": "JUMPI" - }, - "1999": { - "op": "PUSH1", - "value": "0x7F" - }, - "2001": { - "op": "DUP3" - }, - "2002": { - "op": "AND" - }, - "2003": { - "op": "SWAP2" - }, - "2004": { - "op": "POP" - }, - "2005": { - "op": "JUMPDEST" - }, - "2006": { - "op": "PUSH1", - "value": "0x20" - }, - "2008": { - "op": "DUP3" - }, - "2009": { - "op": "LT" - }, - "2010": { - "op": "DUP2" - }, - "2011": { - "op": "SUB" - }, - "2012": { - "op": "PUSH2", - "value": "0x7F5" - }, - "2015": { - "op": "JUMPI" - }, - "2016": { - "op": "PUSH4", - "value": "0x4E487B71" - }, - "2021": { - "op": "PUSH1", - "value": "0xE0" - }, - "2023": { - "op": "SHL" - }, - "2024": { - "op": "PUSH1", - "value": "0x0" - }, - "2026": { - "op": "MSTORE" - }, - "2027": { - "op": "PUSH1", - "value": "0x22" - }, - "2029": { - "op": "PUSH1", - "value": "0x4" - }, - "2031": { - "op": "MSTORE" - }, - "2032": { - "op": "PUSH1", - "value": "0x24" - }, - "2034": { - "op": "PUSH1", - "value": "0x0" - }, - "2036": { - "op": "REVERT" - }, - "2037": { - "op": "JUMPDEST" - }, - "2038": { - "op": "POP" - }, - "2039": { - "op": "SWAP2" - }, - "2040": { - "op": "SWAP1" - }, - "2041": { - "op": "POP" - }, - "2042": { - "jump": "o", - "op": "JUMP" - }, - "2043": { - "op": "JUMPDEST" - }, - "2044": { - "op": "DUP1" - }, - "2045": { - "op": "DUP3" - }, - "2046": { - "op": "ADD" - }, - "2047": { - "op": "DUP1" - }, - "2048": { - "op": "DUP3" - }, - "2049": { - "op": "GT" - }, - "2050": { - "op": "ISZERO" - }, - "2051": { - "op": "PUSH2", - "value": "0x246" - }, - "2054": { - "op": "JUMPI" - }, - "2055": { - "op": "PUSH4", - "value": "0x4E487B71" - }, - "2060": { - "op": "PUSH1", - "value": "0xE0" - }, - "2062": { - "op": "SHL" - }, - "2063": { - "op": "PUSH1", - "value": "0x0" - }, - "2065": { - "op": "MSTORE" - }, - "2066": { - "op": "PUSH1", - "value": "0x11" - }, - "2068": { - "op": "PUSH1", - "value": "0x4" - }, - "2070": { - "op": "MSTORE" - }, - "2071": { - "op": "PUSH1", - "value": "0x24" - }, - "2073": { - "op": "PUSH1", - "value": "0x0" - }, - "2075": { - "op": "REVERT" - } - }, - "sha1": "88ee5db718680555f1adec6b749080d6ae5aa919", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\n * overridden;\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address to, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, amount);\n _transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, allowance(owner, spender) + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n address owner = _msgSender();\n uint256 currentAllowance = allowance(owner, spender);\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(owner, spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n */\n function _transfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC20: transfer from the zero address\");\n require(to != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by\n // decrementing then incrementing.\n _balances[to] += amount;\n }\n\n emit Transfer(from, to, amount);\n\n _afterTokenTransfer(from, to, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n unchecked {\n // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.\n _balances[account] += amount;\n }\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n // Overflow not possible: amount <= accountBalance <= totalSupply.\n _totalSupply -= amount;\n }\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC20: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n", - "sourceMap": "1401:11610:13:-:0;;;1976:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:5;:13;2050:5;2042;:13;:::i;:::-;-1:-1:-1;2065:7:13;:17;2075:7;2065;:17;:::i;:::-;;1976:113;;1401:11610;;14:127:35;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:35;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:35;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:35:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:35;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:35;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:35;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:35;;;3992:26;3943:89;-1:-1:-1;;2747:1:35;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:35;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:35;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:35;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:35:o;:::-;1401:11610:13;;;;;;", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/ERC20.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20Permit.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20Permit.json deleted file mode 100644 index 76da7eca..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20Permit.json +++ /dev/null @@ -1,2631 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "13": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/ERC20.sol", - "15": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-ERC20Permit.sol", - "16": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-IERC20Permit.sol", - "17": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "18": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "23": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Counters.sol", - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "26": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-ERC20Permit.sol", - "exportedSymbols": { - "Context": [ - 4207 - ], - "Counters": [ - 11483 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC20": [ - 11373 - ], - "ERC20Permit": [ - 9418 - ], - "IERC20": [ - 11634 - ], - "IERC20Metadata": [ - 11659 - ], - "IERC20Permit": [ - 11409 - ], - "Math": [ - 10283 - ], - "Strings": [ - 10470 - ] - }, - "id": 9419, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9248, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "128:23:15" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-IERC20Permit.sol", - "file": "./draft-IERC20Permit.sol", - "id": 9249, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 9419, - "sourceUnit": 11410, - "src": "153:34:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/ERC20.sol", - "file": "../ERC20.sol", - "id": 9250, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 9419, - "sourceUnit": 11374, - "src": "188:22:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "file": "../../../utils/cryptography/ECDSA.sol", - "id": 9251, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 9419, - "sourceUnit": 4783, - "src": "211:47:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "file": "../../../utils/cryptography/EIP712.sol", - "id": 9252, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 9419, - "sourceUnit": 4937, - "src": "259:48:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Counters.sol", - "file": "../../../utils/Counters.sol", - "id": 9253, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 9419, - "sourceUnit": 11484, - "src": "308:37:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 9255, - "name": "ERC20", - "nameLocations": [ - "898:5:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11373, - "src": "898:5:15" - }, - "id": 9256, - "nodeType": "InheritanceSpecifier", - "src": "898:5:15" - }, - { - "baseName": { - "id": 9257, - "name": "IERC20Permit", - "nameLocations": [ - "905:12:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11409, - "src": "905:12:15" - }, - "id": 9258, - "nodeType": "InheritanceSpecifier", - "src": "905:12:15" - }, - { - "baseName": { - "id": 9259, - "name": "EIP712", - "nameLocations": [ - "919:6:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4936, - "src": "919:6:15" - }, - "id": 9260, - "nodeType": "InheritanceSpecifier", - "src": "919:6:15" - } - ], - "canonicalName": "ERC20Permit", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 9254, - "nodeType": "StructuredDocumentation", - "src": "347:517:15", - "text": " @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all.\n _Available since v3.4._" - }, - "fullyImplemented": false, - "id": 9418, - "linearizedBaseContracts": [ - 9418, - 4936, - 11409, - 11373, - 11659, - 11634, - 4207 - ], - "name": "ERC20Permit", - "nameLocation": "883:11:15", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 9264, - "libraryName": { - "id": 9261, - "name": "Counters", - "nameLocations": [ - "938:8:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11483, - "src": "938:8:15" - }, - "nodeType": "UsingForDirective", - "src": "932:36:15", - "typeName": { - "id": 9263, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 9262, - "name": "Counters.Counter", - "nameLocations": [ - "951:8:15", - "960:7:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11415, - "src": "951:16:15" - }, - "referencedDeclaration": 11415, - "src": "951:16:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - { - "constant": false, - "id": 9269, - "mutability": "mutable", - "name": "_nonces", - "nameLocation": "1019:7:15", - "nodeType": "VariableDeclaration", - "scope": 9418, - "src": "974:52:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$11415_storage_$", - "typeString": "mapping(address => struct Counters.Counter)" - }, - "typeName": { - "id": 9268, - "keyType": { - "id": 9265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "982:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "974:36:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$11415_storage_$", - "typeString": "mapping(address => struct Counters.Counter)" - }, - "valueType": { - "id": 9267, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 9266, - "name": "Counters.Counter", - "nameLocations": [ - "993:8:15", - "1002:7:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11415, - "src": "993:16:15" - }, - "referencedDeclaration": 11415, - "src": "993:16:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage_ptr", - "typeString": "struct Counters.Counter" - } - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 9274, - "mutability": "constant", - "name": "_PERMIT_TYPEHASH", - "nameLocation": "1110:16:15", - "nodeType": "VariableDeclaration", - "scope": 9418, - "src": "1085:147:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9270, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1085:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529", - "id": 9272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1147:84:15", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9", - "typeString": "literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" - }, - "value": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9", - "typeString": "literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"" - } - ], - "id": 9271, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1137:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 9273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1137:95:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "constant": false, - "documentation": { - "id": 9275, - "nodeType": "StructuredDocumentation", - "src": "1238:254:15", - "text": " @dev In previous versions `_PERMIT_TYPEHASH` was declared as `immutable`.\n However, to ensure consistency with the upgradeable transpiler, we will continue\n to reserve a slot.\n @custom:oz-renamed-from _PERMIT_TYPEHASH" - }, - "id": 9277, - "mutability": "mutable", - "name": "_PERMIT_TYPEHASH_DEPRECATED_SLOT", - "nameLocation": "1565:32:15", - "nodeType": "VariableDeclaration", - "scope": 9418, - "src": "1549:48:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9276, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1549:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 9287, - "nodeType": "Block", - "src": "1879:2:15", - "statements": [] - }, - "documentation": { - "id": 9278, - "nodeType": "StructuredDocumentation", - "src": "1604:220:15", - "text": " @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n It's a good idea to use the same `name` that is defined as the ERC20 token name." - }, - "id": 9288, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 9283, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9280, - "src": "1868:4:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "31", - "id": 9284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1874:3:15", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", - "typeString": "literal_string \"1\"" - }, - "value": "1" - } - ], - "id": 9285, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 9282, - "name": "EIP712", - "nameLocations": [ - "1861:6:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4936, - "src": "1861:6:15" - }, - "nodeType": "ModifierInvocation", - "src": "1861:17:15" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9280, - "mutability": "mutable", - "name": "name", - "nameLocation": "1855:4:15", - "nodeType": "VariableDeclaration", - "scope": 9288, - "src": "1841:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9279, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1841:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1840:20:15" - }, - "returnParameters": { - "id": 9286, - "nodeType": "ParameterList", - "parameters": [], - "src": "1879:0:15" - }, - "scope": 9418, - "src": "1829:52:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 11394 - ], - "body": { - "id": 9360, - "nodeType": "Block", - "src": "2140:428:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 9308, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2158:5:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 9309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2164:9:15", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "2158:15:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 9310, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9297, - "src": "2177:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2158:27:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332305065726d69743a206578706972656420646561646c696e65", - "id": 9312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2187:31:15", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3e89525a63fb9c966b61cf8f5305156de8420bc773a2b60828a2f32c3c5797bd", - "typeString": "literal_string \"ERC20Permit: expired deadline\"" - }, - "value": "ERC20Permit: expired deadline" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3e89525a63fb9c966b61cf8f5305156de8420bc773a2b60828a2f32c3c5797bd", - "typeString": "literal_string \"ERC20Permit: expired deadline\"" - } - ], - "id": 9307, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2150:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2150:69:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9314, - "nodeType": "ExpressionStatement", - "src": "2150:69:15" - }, - { - "assignments": [ - 9316 - ], - "declarations": [ - { - "constant": false, - "id": 9316, - "mutability": "mutable", - "name": "structHash", - "nameLocation": "2238:10:15", - "nodeType": "VariableDeclaration", - "scope": 9360, - "src": "2230:18:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9315, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2230:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 9330, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 9320, - "name": "_PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9274, - "src": "2272:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 9321, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9291, - "src": "2290:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 9322, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9293, - "src": "2297:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 9323, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9295, - "src": "2306:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 9325, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9291, - "src": "2323:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9324, - "name": "_useNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9417, - "src": "2313:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 9326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2313:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 9327, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9297, - "src": "2331:8:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 9318, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2261:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 9319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2265:6:15", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "2261:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 9328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2261:79:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 9317, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2251:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 9329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2251:90:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2230:111:15" - }, - { - "assignments": [ - 9332 - ], - "declarations": [ - { - "constant": false, - "id": 9332, - "mutability": "mutable", - "name": "hash", - "nameLocation": "2360:4:15", - "nodeType": "VariableDeclaration", - "scope": 9360, - "src": "2352:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9331, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2352:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 9336, - "initialValue": { - "arguments": [ - { - "id": 9334, - "name": "structHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9316, - "src": "2384:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9333, - "name": "_hashTypedDataV4", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "2367:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 9335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2367:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2352:43:15" - }, - { - "assignments": [ - 9338 - ], - "declarations": [ - { - "constant": false, - "id": 9338, - "mutability": "mutable", - "name": "signer", - "nameLocation": "2414:6:15", - "nodeType": "VariableDeclaration", - "scope": 9360, - "src": "2406:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2406:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 9346, - "initialValue": { - "arguments": [ - { - "id": 9341, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9332, - "src": "2437:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 9342, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9299, - "src": "2443:1:15", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 9343, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9301, - "src": "2446:1:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 9344, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9303, - "src": "2449:1:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 9339, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4782, - "src": "2423:5:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ECDSA_$4782_$", - "typeString": "type(library ECDSA)" - } - }, - "id": 9340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2429:7:15", - "memberName": "recover", - "nodeType": "MemberAccess", - "referencedDeclaration": 4722, - "src": "2423:13:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 9345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2423:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2406:45:15" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9348, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9338, - "src": "2469:6:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 9349, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9291, - "src": "2479:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2469:15:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332305065726d69743a20696e76616c6964207369676e6174757265", - "id": 9351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2486:32:15", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94ca1ab58dfda790a1782ffbb0c0a140ec51d4148dbeecc6c39e37b25ff4b124", - "typeString": "literal_string \"ERC20Permit: invalid signature\"" - }, - "value": "ERC20Permit: invalid signature" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94ca1ab58dfda790a1782ffbb0c0a140ec51d4148dbeecc6c39e37b25ff4b124", - "typeString": "literal_string \"ERC20Permit: invalid signature\"" - } - ], - "id": 9347, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2461:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2461:58:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9353, - "nodeType": "ExpressionStatement", - "src": "2461:58:15" - }, - { - "expression": { - "arguments": [ - { - "id": 9355, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9291, - "src": "2539:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 9356, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9293, - "src": "2546:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 9357, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9295, - "src": "2555:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9354, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11307, - "src": "2530:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2530:31:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9359, - "nodeType": "ExpressionStatement", - "src": "2530:31:15" - } - ] - }, - "documentation": { - "id": 9289, - "nodeType": "StructuredDocumentation", - "src": "1887:50:15", - "text": " @dev See {IERC20Permit-permit}." - }, - "functionSelector": "d505accf", - "id": 9361, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nameLocation": "1951:6:15", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 9305, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2131:8:15" - }, - "parameters": { - "id": 9304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9291, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1975:5:15", - "nodeType": "VariableDeclaration", - "scope": 9361, - "src": "1967:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1967:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9293, - "mutability": "mutable", - "name": "spender", - "nameLocation": "1998:7:15", - "nodeType": "VariableDeclaration", - "scope": 9361, - "src": "1990:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1990:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9295, - "mutability": "mutable", - "name": "value", - "nameLocation": "2023:5:15", - "nodeType": "VariableDeclaration", - "scope": 9361, - "src": "2015:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2015:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9297, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "2046:8:15", - "nodeType": "VariableDeclaration", - "scope": 9361, - "src": "2038:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2038:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9299, - "mutability": "mutable", - "name": "v", - "nameLocation": "2070:1:15", - "nodeType": "VariableDeclaration", - "scope": 9361, - "src": "2064:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 9298, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2064:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9301, - "mutability": "mutable", - "name": "r", - "nameLocation": "2089:1:15", - "nodeType": "VariableDeclaration", - "scope": 9361, - "src": "2081:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9300, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2081:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9303, - "mutability": "mutable", - "name": "s", - "nameLocation": "2108:1:15", - "nodeType": "VariableDeclaration", - "scope": 9361, - "src": "2100:9:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9302, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2100:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1957:158:15" - }, - "returnParameters": { - "id": 9306, - "nodeType": "ParameterList", - "parameters": [], - "src": "2140:0:15" - }, - "scope": 9418, - "src": "1942:626:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11402 - ], - "body": { - "id": 9376, - "nodeType": "Block", - "src": "2707:48:15", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "baseExpression": { - "id": 9370, - "name": "_nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9269, - "src": "2724:7:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$11415_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 9372, - "indexExpression": { - "id": 9371, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9364, - "src": "2732:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2724:14:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "id": 9373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2739:7:15", - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 11427, - "src": "2724:22:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$11415_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$11415_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 9374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2724:24:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9369, - "id": 9375, - "nodeType": "Return", - "src": "2717:31:15" - } - ] - }, - "documentation": { - "id": 9362, - "nodeType": "StructuredDocumentation", - "src": "2574:50:15", - "text": " @dev See {IERC20Permit-nonces}." - }, - "functionSelector": "7ecebe00", - "id": 9377, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nameLocation": "2638:6:15", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 9366, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2680:8:15" - }, - "parameters": { - "id": 9365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9364, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2653:5:15", - "nodeType": "VariableDeclaration", - "scope": 9377, - "src": "2645:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2645:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2644:15:15" - }, - "returnParameters": { - "id": 9369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9368, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9377, - "src": "2698:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2698:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2697:9:15" - }, - "scope": 9418, - "src": "2629:126:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 11408 - ], - "body": { - "id": 9387, - "nodeType": "Block", - "src": "2948:44:15", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9384, - "name": "_domainSeparatorV4", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4892, - "src": "2965:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", - "typeString": "function () view returns (bytes32)" - } - }, - "id": 9385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2965:20:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 9383, - "id": 9386, - "nodeType": "Return", - "src": "2958:27:15" - } - ] - }, - "documentation": { - "id": 9378, - "nodeType": "StructuredDocumentation", - "src": "2761:60:15", - "text": " @dev See {IERC20Permit-DOMAIN_SEPARATOR}." - }, - "functionSelector": "3644e515", - "id": 9388, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nameLocation": "2888:16:15", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 9380, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2921:8:15" - }, - "parameters": { - "id": 9379, - "nodeType": "ParameterList", - "parameters": [], - "src": "2904:2:15" - }, - "returnParameters": { - "id": 9383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9382, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9388, - "src": "2939:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9381, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2939:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2938:9:15" - }, - "scope": 9418, - "src": "2879:113:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 9416, - "nodeType": "Block", - "src": "3200:126:15", - "statements": [ - { - "assignments": [ - 9400 - ], - "declarations": [ - { - "constant": false, - "id": 9400, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "3235:5:15", - "nodeType": "VariableDeclaration", - "scope": 9416, - "src": "3210:30:15", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage_ptr", - "typeString": "struct Counters.Counter" - }, - "typeName": { - "id": 9399, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 9398, - "name": "Counters.Counter", - "nameLocations": [ - "3210:8:15", - "3219:7:15" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11415, - "src": "3210:16:15" - }, - "referencedDeclaration": 11415, - "src": "3210:16:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage_ptr", - "typeString": "struct Counters.Counter" - } - }, - "visibility": "internal" - } - ], - "id": 9404, - "initialValue": { - "baseExpression": { - "id": 9401, - "name": "_nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9269, - "src": "3243:7:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Counter_$11415_storage_$", - "typeString": "mapping(address => struct Counters.Counter storage ref)" - } - }, - "id": 9403, - "indexExpression": { - "id": 9402, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9391, - "src": "3251:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3243:14:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage", - "typeString": "struct Counters.Counter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3210:47:15" - }, - { - "expression": { - "id": 9409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9405, - "name": "current", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9394, - "src": "3267:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 9406, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9400, - "src": "3277:5:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 9407, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3283:7:15", - "memberName": "current", - "nodeType": "MemberAccess", - "referencedDeclaration": 11427, - "src": "3277:13:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$11415_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$11415_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" - } - }, - "id": 9408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3277:15:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3267:25:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9410, - "nodeType": "ExpressionStatement", - "src": "3267:25:15" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 9411, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9400, - "src": "3302:5:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$11415_storage_ptr", - "typeString": "struct Counters.Counter storage pointer" - } - }, - "id": 9413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3308:9:15", - "memberName": "increment", - "nodeType": "MemberAccess", - "referencedDeclaration": 11441, - "src": "3302:15:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$11415_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$11415_storage_ptr_$", - "typeString": "function (struct Counters.Counter storage pointer)" - } - }, - "id": 9414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3302:17:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9415, - "nodeType": "ExpressionStatement", - "src": "3302:17:15" - } - ] - }, - "documentation": { - "id": 9389, - "nodeType": "StructuredDocumentation", - "src": "2998:120:15", - "text": " @dev \"Consume a nonce\": return the current value and increment.\n _Available since v4.1._" - }, - "id": 9417, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_useNonce", - "nameLocation": "3132:9:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9391, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3150:5:15", - "nodeType": "VariableDeclaration", - "scope": 9417, - "src": "3142:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3142:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3141:15:15" - }, - "returnParameters": { - "id": 9395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9394, - "mutability": "mutable", - "name": "current", - "nameLocation": "3191:7:15", - "nodeType": "VariableDeclaration", - "scope": 9417, - "src": "3183:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3183:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3182:17:15" - }, - "scope": 9418, - "src": "3123:203:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9419, - "src": "865:2463:15", - "usedErrors": [] - } - ], - "src": "128:3201:15" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "ERC20Permit", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Counters", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ECDSA", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Metadata", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Permit", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Strings" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. _Available since v3.4._", - "kind": "dev", - "methods": { - "DOMAIN_SEPARATOR()": { - "details": "See {IERC20Permit-DOMAIN_SEPARATOR}." - }, - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "constructor": { - "details": "Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`. It's a good idea to use the same `name` that is defined as the ERC20 token name." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "nonces(address)": { - "details": "See {IERC20Permit-nonces}." - }, - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": { - "details": "See {IERC20Permit-permit}." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "stateVariables": { - "_PERMIT_TYPEHASH_DEPRECATED_SLOT": { - "custom:oz-renamed-from": "_PERMIT_TYPEHASH", - "details": "In previous versions `_PERMIT_TYPEHASH` was declared as `immutable`. However, to ensure consistency with the upgradeable transpiler, we will continue to reserve a slot." - } - }, - "version": 1 - }, - "offset": [ - 865, - 3328 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "f473c5bdecfc86eb3090b9c2c384a3be716c1793", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/extensions/draft-ERC20Permit.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./draft-IERC20Permit.sol\";\nimport \"../ERC20.sol\";\nimport \"../../../utils/cryptography/ECDSA.sol\";\nimport \"../../../utils/cryptography/EIP712.sol\";\nimport \"../../../utils/Counters.sol\";\n\n/**\n * @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n *\n * _Available since v3.4._\n */\nabstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 {\n using Counters for Counters.Counter;\n\n mapping(address => Counters.Counter) private _nonces;\n\n // solhint-disable-next-line var-name-mixedcase\n bytes32 private constant _PERMIT_TYPEHASH =\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n /**\n * @dev In previous versions `_PERMIT_TYPEHASH` was declared as `immutable`.\n * However, to ensure consistency with the upgradeable transpiler, we will continue\n * to reserve a slot.\n * @custom:oz-renamed-from _PERMIT_TYPEHASH\n */\n // solhint-disable-next-line var-name-mixedcase\n bytes32 private _PERMIT_TYPEHASH_DEPRECATED_SLOT;\n\n /**\n * @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n *\n * It's a good idea to use the same `name` that is defined as the ERC20 token name.\n */\n constructor(string memory name) EIP712(name, \"1\") {}\n\n /**\n * @dev See {IERC20Permit-permit}.\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override {\n require(block.timestamp <= deadline, \"ERC20Permit: expired deadline\");\n\n bytes32 structHash = keccak256(abi.encode(_PERMIT_TYPEHASH, owner, spender, value, _useNonce(owner), deadline));\n\n bytes32 hash = _hashTypedDataV4(structHash);\n\n address signer = ECDSA.recover(hash, v, r, s);\n require(signer == owner, \"ERC20Permit: invalid signature\");\n\n _approve(owner, spender, value);\n }\n\n /**\n * @dev See {IERC20Permit-nonces}.\n */\n function nonces(address owner) public view virtual override returns (uint256) {\n return _nonces[owner].current();\n }\n\n /**\n * @dev See {IERC20Permit-DOMAIN_SEPARATOR}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view override returns (bytes32) {\n return _domainSeparatorV4();\n }\n\n /**\n * @dev \"Consume a nonce\": return the current value and increment.\n *\n * _Available since v4.1._\n */\n function _useNonce(address owner) internal virtual returns (uint256 current) {\n Counters.Counter storage nonce = _nonces[owner];\n current = nonce.current();\n nonce.increment();\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-ERC20Permit.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20Votes.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20Votes.json deleted file mode 100644 index c2babd84..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20Votes.json +++ /dev/null @@ -1,9894 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fromDelegate", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "toDelegate", - "type": "address" - } - ], - "name": "DelegateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousBalance", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newBalance", - "type": "uint256" - } - ], - "name": "DelegateVotesChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint32", - "name": "pos", - "type": "uint32" - } - ], - "name": "checkpoints", - "outputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "fromBlock", - "type": "uint32" - }, - { - "internalType": "uint224", - "name": "votes", - "type": "uint224" - } - ], - "internalType": "struct ERC20Votes.Checkpoint", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "name": "delegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "delegateBySig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "delegates", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastTotalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numCheckpoints", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "11": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/utils/IVotes.sol", - "13": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/ERC20.sol", - "14": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/ERC20Votes.sol", - "15": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-ERC20Permit.sol", - "16": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-IERC20Permit.sol", - "17": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "18": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "26": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "31": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/ERC20Votes.sol", - "exportedSymbols": { - "Context": [ - 4207 - ], - "Counters": [ - 11483 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC20": [ - 11373 - ], - "ERC20Permit": [ - 9418 - ], - "ERC20Votes": [ - 3499 - ], - "IERC20": [ - 11634 - ], - "IERC20Metadata": [ - 11659 - ], - "IERC20Permit": [ - 11409 - ], - "IVotes": [ - 7875 - ], - "Math": [ - 10283 - ], - "SafeCast": [ - 6501 - ], - "Strings": [ - 10470 - ] - }, - "id": 3500, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2803, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "121:23:14" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-ERC20Permit.sol", - "file": "./draft-ERC20Permit.sol", - "id": 2804, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3500, - "sourceUnit": 9419, - "src": "146:33:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "file": "../../../utils/math/Math.sol", - "id": 2805, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3500, - "sourceUnit": 10284, - "src": "180:38:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/utils/IVotes.sol", - "file": "../../../governance/utils/IVotes.sol", - "id": 2806, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3500, - "sourceUnit": 7876, - "src": "219:46:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol", - "file": "../../../utils/math/SafeCast.sol", - "id": 2807, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3500, - "sourceUnit": 6502, - "src": "266:42:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "file": "../../../utils/cryptography/ECDSA.sol", - "id": 2808, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3500, - "sourceUnit": 4783, - "src": "309:47:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 2810, - "name": "IVotes", - "nameLocations": [ - "1285:6:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7875, - "src": "1285:6:14" - }, - "id": 2811, - "nodeType": "InheritanceSpecifier", - "src": "1285:6:14" - }, - { - "baseName": { - "id": 2812, - "name": "ERC20Permit", - "nameLocations": [ - "1293:11:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 9418, - "src": "1293:11:14" - }, - "id": 2813, - "nodeType": "InheritanceSpecifier", - "src": "1293:11:14" - } - ], - "canonicalName": "ERC20Votes", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2809, - "nodeType": "StructuredDocumentation", - "src": "358:894:14", - "text": " @dev Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's,\n and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1.\n NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module.\n This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either\n by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting\n power can be queried through the public accessors {getVotes} and {getPastVotes}.\n By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it\n requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked.\n _Available since v4.2._" - }, - "fullyImplemented": false, - "id": 3499, - "linearizedBaseContracts": [ - 3499, - 9418, - 4936, - 11409, - 11373, - 11659, - 11634, - 4207, - 7875 - ], - "name": "ERC20Votes", - "nameLocation": "1271:10:14", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "ERC20Votes.Checkpoint", - "id": 2818, - "members": [ - { - "constant": false, - "id": 2815, - "mutability": "mutable", - "name": "fromBlock", - "nameLocation": "1346:9:14", - "nodeType": "VariableDeclaration", - "scope": 2818, - "src": "1339:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2814, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1339:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2817, - "mutability": "mutable", - "name": "votes", - "nameLocation": "1373:5:14", - "nodeType": "VariableDeclaration", - "scope": 2818, - "src": "1365:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 2816, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "1365:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "visibility": "internal" - } - ], - "name": "Checkpoint", - "nameLocation": "1318:10:14", - "nodeType": "StructDefinition", - "scope": 3499, - "src": "1311:74:14", - "visibility": "public" - }, - { - "constant": true, - "id": 2823, - "mutability": "constant", - "name": "_DELEGATION_TYPEHASH", - "nameLocation": "1416:20:14", - "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "1391:127:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2819, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1391:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "44656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929", - "id": 2821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1457:60:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf", - "typeString": "literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\"" - }, - "value": "Delegation(address delegatee,uint256 nonce,uint256 expiry)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf", - "typeString": "literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\"" - } - ], - "id": 2820, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1447:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1447:71:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2827, - "mutability": "mutable", - "name": "_delegates", - "nameLocation": "1561:10:14", - "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "1525:46:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "typeName": { - "id": 2826, - "keyType": { - "id": 2824, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1533:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1525:27:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - }, - "valueType": { - "id": 2825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1544:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2833, - "mutability": "mutable", - "name": "_checkpoints", - "nameLocation": "1618:12:14", - "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "1577:53:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint[])" - }, - "typeName": { - "id": 2832, - "keyType": { - "id": 2828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1585:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1577:32:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint[])" - }, - "valueType": { - "baseType": { - "id": 2830, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2829, - "name": "Checkpoint", - "nameLocations": [ - "1596:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "1596:10:14" - }, - "referencedDeclaration": 2818, - "src": "1596:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "id": 2831, - "nodeType": "ArrayTypeName", - "src": "1596:12:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2837, - "mutability": "mutable", - "name": "_totalSupplyCheckpoints", - "nameLocation": "1657:23:14", - "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "1636:44:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint[]" - }, - "typeName": { - "baseType": { - "id": 2835, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2834, - "name": "Checkpoint", - "nameLocations": [ - "1636:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "1636:10:14" - }, - "referencedDeclaration": 2818, - "src": "1636:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "id": 2836, - "nodeType": "ArrayTypeName", - "src": "1636:12:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 2854, - "nodeType": "Block", - "src": "1856:50:14", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2848, - "name": "_checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "1873:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)" - } - }, - "id": 2850, - "indexExpression": { - "id": 2849, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2840, - "src": "1886:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1873:21:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - "id": 2852, - "indexExpression": { - "id": 2851, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2842, - "src": "1895:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1873:26:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref" - } - }, - "functionReturnParameters": 2847, - "id": 2853, - "nodeType": "Return", - "src": "1866:33:14" - } - ] - }, - "documentation": { - "id": 2838, - "nodeType": "StructuredDocumentation", - "src": "1687:66:14", - "text": " @dev Get the `pos`-th checkpoint for `account`." - }, - "functionSelector": "f1127ed8", - "id": 2855, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "checkpoints", - "nameLocation": "1767:11:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2840, - "mutability": "mutable", - "name": "account", - "nameLocation": "1787:7:14", - "nodeType": "VariableDeclaration", - "scope": 2855, - "src": "1779:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2839, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1779:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2842, - "mutability": "mutable", - "name": "pos", - "nameLocation": "1803:3:14", - "nodeType": "VariableDeclaration", - "scope": 2855, - "src": "1796:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2841, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "1796:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - } - ], - "src": "1778:29:14" - }, - "returnParameters": { - "id": 2847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2846, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2855, - "src": "1837:17:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - }, - "typeName": { - "id": 2845, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2844, - "name": "Checkpoint", - "nameLocations": [ - "1837:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "1837:10:14" - }, - "referencedDeclaration": 2818, - "src": "1837:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "visibility": "internal" - } - ], - "src": "1836:19:14" - }, - "scope": 3499, - "src": "1758:148:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2871, - "nodeType": "Block", - "src": "2059:71:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "baseExpression": { - "id": 2865, - "name": "_checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "2094:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)" - } - }, - "id": 2867, - "indexExpression": { - "id": 2866, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2858, - "src": "2107:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2094:21:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - "id": 2868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2116:6:14", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2094:28:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2863, - "name": "SafeCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "2076:8:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeCast_$6501_$", - "typeString": "type(library SafeCast)" - } - }, - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2085:8:14", - "memberName": "toUint32", - "nodeType": "MemberAccess", - "referencedDeclaration": 5663, - "src": "2076:17:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint32_$", - "typeString": "function (uint256) pure returns (uint32)" - } - }, - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2076:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "functionReturnParameters": 2862, - "id": 2870, - "nodeType": "Return", - "src": "2069:54:14" - } - ] - }, - "documentation": { - "id": 2856, - "nodeType": "StructuredDocumentation", - "src": "1912:64:14", - "text": " @dev Get number of checkpoints for `account`." - }, - "functionSelector": "6fcfff45", - "id": 2872, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "numCheckpoints", - "nameLocation": "1990:14:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2858, - "mutability": "mutable", - "name": "account", - "nameLocation": "2013:7:14", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "2005:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2005:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2004:17:14" - }, - "returnParameters": { - "id": 2862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2861, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "2051:6:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 2860, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "2051:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - } - ], - "src": "2050:8:14" - }, - "scope": 3499, - "src": "1981:149:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7852 - ], - "body": { - "id": 2885, - "nodeType": "Block", - "src": "2301:43:14", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 2881, - "name": "_delegates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2827, - "src": "2318:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 2883, - "indexExpression": { - "id": 2882, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2875, - "src": "2329:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2318:19:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 2880, - "id": 2884, - "nodeType": "Return", - "src": "2311:26:14" - } - ] - }, - "documentation": { - "id": 2873, - "nodeType": "StructuredDocumentation", - "src": "2136:77:14", - "text": " @dev Get the address `account` is currently delegating to." - }, - "functionSelector": "587cde1e", - "id": 2886, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegates", - "nameLocation": "2227:9:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2877, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2274:8:14" - }, - "parameters": { - "id": 2876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2875, - "mutability": "mutable", - "name": "account", - "nameLocation": "2245:7:14", - "nodeType": "VariableDeclaration", - "scope": 2886, - "src": "2237:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2237:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2236:17:14" - }, - "returnParameters": { - "id": 2880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2879, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2886, - "src": "2292:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2878, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2292:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2291:9:14" - }, - "scope": 3499, - "src": "2218:126:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7826 - ], - "body": { - "id": 2916, - "nodeType": "Block", - "src": "2505:127:14", - "statements": [ - { - "assignments": [ - 2896 - ], - "declarations": [ - { - "constant": false, - "id": 2896, - "mutability": "mutable", - "name": "pos", - "nameLocation": "2523:3:14", - "nodeType": "VariableDeclaration", - "scope": 2916, - "src": "2515:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2515:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2901, - "initialValue": { - "expression": { - "baseExpression": { - "id": 2897, - "name": "_checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "2529:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)" - } - }, - "id": 2899, - "indexExpression": { - "id": 2898, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2889, - "src": "2542:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2529:21:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - "id": 2900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2551:6:14", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2529:28:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2515:42:14" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2902, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "2574:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2581:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2574:8:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 2906, - "name": "_checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "2589:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)" - } - }, - "id": 2908, - "indexExpression": { - "id": 2907, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2889, - "src": "2602:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2589:21:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - "id": 2912, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2909, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2896, - "src": "2611:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2617:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2611:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2589:30:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref" - } - }, - "id": 2913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2620:5:14", - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "2589:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 2914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "2574:51:14", - "trueExpression": { - "hexValue": "30", - "id": 2905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2585:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "functionReturnParameters": 2894, - "id": 2915, - "nodeType": "Return", - "src": "2567:58:14" - } - ] - }, - "documentation": { - "id": 2887, - "nodeType": "StructuredDocumentation", - "src": "2350:68:14", - "text": " @dev Gets the current votes balance for `account`" - }, - "functionSelector": "9ab24eb0", - "id": 2917, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotes", - "nameLocation": "2432:8:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2891, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2478:8:14" - }, - "parameters": { - "id": 2890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2889, - "mutability": "mutable", - "name": "account", - "nameLocation": "2449:7:14", - "nodeType": "VariableDeclaration", - "scope": 2917, - "src": "2441:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2888, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2441:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2440:17:14" - }, - "returnParameters": { - "id": 2894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2893, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2917, - "src": "2496:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2496:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2495:9:14" - }, - "scope": 3499, - "src": "2423:209:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7836 - ], - "body": { - "id": 2943, - "nodeType": "Block", - "src": "2932:158:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2929, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2922, - "src": "2950:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 2930, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2964:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2970:6:14", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "2964:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2950:26:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433230566f7465733a20626c6f636b206e6f7420796574206d696e6564", - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2978:33:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d", - "typeString": "literal_string \"ERC20Votes: block not yet mined\"" - }, - "value": "ERC20Votes: block not yet mined" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d", - "typeString": "literal_string \"ERC20Votes: block not yet mined\"" - } - ], - "id": 2928, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2942:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2942:70:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2935, - "nodeType": "ExpressionStatement", - "src": "2942:70:14" - }, - { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 2937, - "name": "_checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "3048:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)" - } - }, - "id": 2939, - "indexExpression": { - "id": 2938, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2920, - "src": "3061:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3048:21:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - { - "id": 2940, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2922, - "src": "3071:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2936, - "name": "_checkpointsLookup", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "3029:18:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3029:54:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2927, - "id": 2942, - "nodeType": "Return", - "src": "3022:61:14" - } - ] - }, - "documentation": { - "id": 2918, - "nodeType": "StructuredDocumentation", - "src": "2638:182:14", - "text": " @dev Retrieve the number of votes for `account` at the end of `blockNumber`.\n Requirements:\n - `blockNumber` must have been already mined" - }, - "functionSelector": "3a46b1a8", - "id": 2944, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPastVotes", - "nameLocation": "2834:12:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2924, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2905:8:14" - }, - "parameters": { - "id": 2923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2920, - "mutability": "mutable", - "name": "account", - "nameLocation": "2855:7:14", - "nodeType": "VariableDeclaration", - "scope": 2944, - "src": "2847:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2919, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2847:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2922, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "2872:11:14", - "nodeType": "VariableDeclaration", - "scope": 2944, - "src": "2864:19:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2864:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2846:38:14" - }, - "returnParameters": { - "id": 2927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2926, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2944, - "src": "2923:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2923:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2922:9:14" - }, - "scope": 3499, - "src": "2825:265:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7844 - ], - "body": { - "id": 2966, - "nodeType": "Block", - "src": "3465:160:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2954, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "3483:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 2955, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3497:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3503:6:14", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "3497:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3483:26:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433230566f7465733a20626c6f636b206e6f7420796574206d696e6564", - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3511:33:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d", - "typeString": "literal_string \"ERC20Votes: block not yet mined\"" - }, - "value": "ERC20Votes: block not yet mined" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_06e5bbaaa109e1d058e1026fbdce9ec5e51f304d46ad524d922a17511e41fd0d", - "typeString": "literal_string \"ERC20Votes: block not yet mined\"" - } - ], - "id": 2953, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3475:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3475:70:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2960, - "nodeType": "ExpressionStatement", - "src": "3475:70:14" - }, - { - "expression": { - "arguments": [ - { - "id": 2962, - "name": "_totalSupplyCheckpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "3581:23:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - { - "id": 2963, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2947, - "src": "3606:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2961, - "name": "_checkpointsLookup", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "3562:18:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3562:56:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2952, - "id": 2965, - "nodeType": "Return", - "src": "3555:63:14" - } - ] - }, - "documentation": { - "id": 2945, - "nodeType": "StructuredDocumentation", - "src": "3096:268:14", - "text": " @dev Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances.\n It is but NOT the sum of all the delegated votes!\n Requirements:\n - `blockNumber` must have been already mined" - }, - "functionSelector": "8e539e8c", - "id": 2967, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPastTotalSupply", - "nameLocation": "3378:18:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2949, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3438:8:14" - }, - "parameters": { - "id": 2948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2947, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "3405:11:14", - "nodeType": "VariableDeclaration", - "scope": 2967, - "src": "3397:19:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3397:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3396:21:14" - }, - "returnParameters": { - "id": 2952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2951, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2967, - "src": "3456:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2950, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3456:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3455:9:14" - }, - "scope": 3499, - "src": "3369:256:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 3072, - "nodeType": "Block", - "src": "3817:1750:14", - "statements": [ - { - "assignments": [ - 2980 - ], - "declarations": [ - { - "constant": false, - "id": 2980, - "mutability": "mutable", - "name": "length", - "nameLocation": "4904:6:14", - "nodeType": "VariableDeclaration", - "scope": 3072, - "src": "4896:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4896:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2983, - "initialValue": { - "expression": { - "id": 2981, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2972, - "src": "4913:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - "id": 2982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4919:6:14", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4913:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4896:29:14" - }, - { - "assignments": [ - 2985 - ], - "declarations": [ - { - "constant": false, - "id": 2985, - "mutability": "mutable", - "name": "low", - "nameLocation": "4944:3:14", - "nodeType": "VariableDeclaration", - "scope": 3072, - "src": "4936:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4936:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2987, - "initialValue": { - "hexValue": "30", - "id": 2986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4950:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4936:15:14" - }, - { - "assignments": [ - 2989 - ], - "declarations": [ - { - "constant": false, - "id": 2989, - "mutability": "mutable", - "name": "high", - "nameLocation": "4969:4:14", - "nodeType": "VariableDeclaration", - "scope": 3072, - "src": "4961:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4961:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2991, - "initialValue": { - "id": 2990, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "4976:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4961:21:14" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2992, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "4997:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "35", - "id": 2993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5006:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "src": "4997:10:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3025, - "nodeType": "IfStatement", - "src": "4993:244:14", - "trueBody": { - "id": 3024, - "nodeType": "Block", - "src": "5009:228:14", - "statements": [ - { - "assignments": [ - 2996 - ], - "declarations": [ - { - "constant": false, - "id": 2996, - "mutability": "mutable", - "name": "mid", - "nameLocation": "5031:3:14", - "nodeType": "VariableDeclaration", - "scope": 3024, - "src": "5023:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5023:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3003, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2997, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "5037:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "arguments": [ - { - "id": 3000, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "5056:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2998, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "5046:4:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$10283_$", - "typeString": "type(library Math)" - } - }, - "id": 2999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5051:4:14", - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 9787, - "src": "5046:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5046:17:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5037:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5023:40:14" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 3005, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2972, - "src": "5095:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - { - "id": 3006, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "5102:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3004, - "name": "_unsafeAccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3498, - "src": "5081:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$2818_storage_ptr_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)" - } - }, - "id": 3007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5081:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage pointer" - } - }, - "id": 3008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5107:9:14", - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "5081:35:14", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3009, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2974, - "src": "5119:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5081:49:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3022, - "nodeType": "Block", - "src": "5181:46:14", - "statements": [ - { - "expression": { - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3016, - "name": "low", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5199:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3017, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "5205:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 3018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5211:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5205:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5199:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3021, - "nodeType": "ExpressionStatement", - "src": "5199:13:14" - } - ] - }, - "id": 3023, - "nodeType": "IfStatement", - "src": "5077:150:14", - "trueBody": { - "id": 3015, - "nodeType": "Block", - "src": "5132:43:14", - "statements": [ - { - "expression": { - "id": 3013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3011, - "name": "high", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "5150:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3012, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "5157:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5150:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3014, - "nodeType": "ExpressionStatement", - "src": "5150:10:14" - } - ] - } - } - ] - } - }, - { - "body": { - "id": 3057, - "nodeType": "Block", - "src": "5266:225:14", - "statements": [ - { - "assignments": [ - 3030 - ], - "declarations": [ - { - "constant": false, - "id": 3030, - "mutability": "mutable", - "name": "mid", - "nameLocation": "5288:3:14", - "nodeType": "VariableDeclaration", - "scope": 3057, - "src": "5280:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5280:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3036, - "initialValue": { - "arguments": [ - { - "id": 3033, - "name": "low", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5307:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3034, - "name": "high", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "5312:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3031, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "5294:4:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$10283_$", - "typeString": "type(library Math)" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5299:7:14", - "memberName": "average", - "nodeType": "MemberAccess", - "referencedDeclaration": 9484, - "src": "5294:12:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5294:23:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5280:37:14" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 3038, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2972, - "src": "5349:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - { - "id": 3039, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3030, - "src": "5356:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3037, - "name": "_unsafeAccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3498, - "src": "5335:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$2818_storage_ptr_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)" - } - }, - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5335:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage pointer" - } - }, - "id": 3041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5361:9:14", - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "5335:35:14", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3042, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2974, - "src": "5373:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5335:49:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3055, - "nodeType": "Block", - "src": "5435:46:14", - "statements": [ - { - "expression": { - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3049, - "name": "low", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5453:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3050, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3030, - "src": "5459:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5465:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5459:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5453:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3054, - "nodeType": "ExpressionStatement", - "src": "5453:13:14" - } - ] - }, - "id": 3056, - "nodeType": "IfStatement", - "src": "5331:150:14", - "trueBody": { - "id": 3048, - "nodeType": "Block", - "src": "5386:43:14", - "statements": [ - { - "expression": { - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3044, - "name": "high", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "5404:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3045, - "name": "mid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3030, - "src": "5411:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5404:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3047, - "nodeType": "ExpressionStatement", - "src": "5404:10:14" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3026, - "name": "low", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5254:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 3027, - "name": "high", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "5260:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5254:10:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3058, - "nodeType": "WhileStatement", - "src": "5247:244:14" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3059, - "name": "high", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "5508:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5516:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5508:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "expression": { - "arguments": [ - { - "id": 3064, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2972, - "src": "5538:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3065, - "name": "high", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2989, - "src": "5545:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5552:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5545:8:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3063, - "name": "_unsafeAccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3498, - "src": "5524:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$2818_storage_ptr_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5524:30:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage pointer" - } - }, - "id": 3069, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5555:5:14", - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "5524:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "5508:52:14", - "trueExpression": { - "hexValue": "30", - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5520:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "functionReturnParameters": 2978, - "id": 3071, - "nodeType": "Return", - "src": "5501:59:14" - } - ] - }, - "documentation": { - "id": 2968, - "nodeType": "StructuredDocumentation", - "src": "3631:73:14", - "text": " @dev Lookup a value in a list of (sorted) checkpoints." - }, - "id": 3073, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkpointsLookup", - "nameLocation": "3718:18:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2972, - "mutability": "mutable", - "name": "ckpts", - "nameLocation": "3758:5:14", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "3737:26:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - }, - "typeName": { - "baseType": { - "id": 2970, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2969, - "name": "Checkpoint", - "nameLocations": [ - "3737:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "3737:10:14" - }, - "referencedDeclaration": 2818, - "src": "3737:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "id": 2971, - "nodeType": "ArrayTypeName", - "src": "3737:12:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2974, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "3773:11:14", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "3765:19:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3765:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3736:49:14" - }, - "returnParameters": { - "id": 2978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2977, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "3808:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3808:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3807:9:14" - }, - "scope": 3499, - "src": "3709:1858:14", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "baseFunctions": [ - 7858 - ], - "body": { - "id": 3086, - "nodeType": "Block", - "src": "5709:51:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3081, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "5729:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5729:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3083, - "name": "delegatee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3076, - "src": "5743:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3080, - "name": "_delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3284, - "src": "5719:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 3084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5719:34:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3085, - "nodeType": "ExpressionStatement", - "src": "5719:34:14" - } - ] - }, - "documentation": { - "id": 3074, - "nodeType": "StructuredDocumentation", - "src": "5573:70:14", - "text": " @dev Delegate votes from the sender to `delegatee`." - }, - "functionSelector": "5c19a95c", - "id": 3087, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegate", - "nameLocation": "5657:8:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3078, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5700:8:14" - }, - "parameters": { - "id": 3077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3076, - "mutability": "mutable", - "name": "delegatee", - "nameLocation": "5674:9:14", - "nodeType": "VariableDeclaration", - "scope": 3087, - "src": "5666:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5666:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5665:19:14" - }, - "returnParameters": { - "id": 3079, - "nodeType": "ParameterList", - "parameters": [], - "src": "5709:0:14" - }, - "scope": 3499, - "src": "5648:112:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7874 - ], - "body": { - "id": 3146, - "nodeType": "Block", - "src": "6019:392:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3105, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6037:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6043:9:14", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "6037:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 3107, - "name": "expiry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3094, - "src": "6056:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6037:25:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433230566f7465733a207369676e61747572652065787069726564", - "id": 3109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6064:31:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_136d0f69bc85a5c125b5cc368e2880ebdb3c89d4d9828f6476431c386ea60257", - "typeString": "literal_string \"ERC20Votes: signature expired\"" - }, - "value": "ERC20Votes: signature expired" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_136d0f69bc85a5c125b5cc368e2880ebdb3c89d4d9828f6476431c386ea60257", - "typeString": "literal_string \"ERC20Votes: signature expired\"" - } - ], - "id": 3104, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6029:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6029:67:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3111, - "nodeType": "ExpressionStatement", - "src": "6029:67:14" - }, - { - "assignments": [ - 3113 - ], - "declarations": [ - { - "constant": false, - "id": 3113, - "mutability": "mutable", - "name": "signer", - "nameLocation": "6114:6:14", - "nodeType": "VariableDeclaration", - "scope": 3146, - "src": "6106:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3112, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6106:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 3131, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 3120, - "name": "_DELEGATION_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2823, - "src": "6188:20:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3121, - "name": "delegatee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "6210:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3122, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3092, - "src": "6221:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3123, - "name": "expiry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3094, - "src": "6228:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3118, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "6177:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6181:6:14", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "6177:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6177:58:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3117, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "6167:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6167:69:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3116, - "name": "_hashTypedDataV4", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "6150:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 3126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6150:87:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3127, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3096, - "src": "6251:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 3128, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "6266:1:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3129, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3100, - "src": "6281:1:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 3114, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4782, - "src": "6123:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ECDSA_$4782_$", - "typeString": "type(library ECDSA)" - } - }, - "id": 3115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6129:7:14", - "memberName": "recover", - "nodeType": "MemberAccess", - "referencedDeclaration": 4722, - "src": "6123:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6123:169:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6106:186:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3133, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3092, - "src": "6310:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 3135, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "6329:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3134, - "name": "_useNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9417, - "src": "6319:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 3136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6319:17:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6310:26:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433230566f7465733a20696e76616c6964206e6f6e6365", - "id": 3138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6338:27:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1a23b43d95073d55a7380117ca03cace60cd22fee15d5cb140d51e46236e6872", - "typeString": "literal_string \"ERC20Votes: invalid nonce\"" - }, - "value": "ERC20Votes: invalid nonce" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1a23b43d95073d55a7380117ca03cace60cd22fee15d5cb140d51e46236e6872", - "typeString": "literal_string \"ERC20Votes: invalid nonce\"" - } - ], - "id": 3132, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6302:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6302:64:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3140, - "nodeType": "ExpressionStatement", - "src": "6302:64:14" - }, - { - "expression": { - "arguments": [ - { - "id": 3142, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3113, - "src": "6386:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3143, - "name": "delegatee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "6394:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3141, - "name": "_delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3284, - "src": "6376:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 3144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6376:28:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3145, - "nodeType": "ExpressionStatement", - "src": "6376:28:14" - } - ] - }, - "documentation": { - "id": 3088, - "nodeType": "StructuredDocumentation", - "src": "5766:66:14", - "text": " @dev Delegates votes from signer to `delegatee`" - }, - "functionSelector": "c3cda520", - "id": 3147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateBySig", - "nameLocation": "5846:13:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3102, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6010:8:14" - }, - "parameters": { - "id": 3101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3090, - "mutability": "mutable", - "name": "delegatee", - "nameLocation": "5877:9:14", - "nodeType": "VariableDeclaration", - "scope": 3147, - "src": "5869:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5869:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3092, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "5904:5:14", - "nodeType": "VariableDeclaration", - "scope": 3147, - "src": "5896:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3091, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5896:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3094, - "mutability": "mutable", - "name": "expiry", - "nameLocation": "5927:6:14", - "nodeType": "VariableDeclaration", - "scope": 3147, - "src": "5919:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3093, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5919:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3096, - "mutability": "mutable", - "name": "v", - "nameLocation": "5949:1:14", - "nodeType": "VariableDeclaration", - "scope": 3147, - "src": "5943:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3095, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5943:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3098, - "mutability": "mutable", - "name": "r", - "nameLocation": "5968:1:14", - "nodeType": "VariableDeclaration", - "scope": 3147, - "src": "5960:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3097, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5960:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3100, - "mutability": "mutable", - "name": "s", - "nameLocation": "5987:1:14", - "nodeType": "VariableDeclaration", - "scope": 3147, - "src": "5979:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3099, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5979:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5859:135:14" - }, - "returnParameters": { - "id": 3103, - "nodeType": "ParameterList", - "parameters": [], - "src": "6019:0:14" - }, - "scope": 3499, - "src": "5837:574:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 3159, - "nodeType": "Block", - "src": "6575:41:14", - "statements": [ - { - "expression": { - "expression": { - "arguments": [ - { - "id": 3155, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6597:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 3154, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "6597:7:14", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - } - ], - "id": 3153, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "6592:4:14", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6592:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint224", - "typeString": "type(uint224)" - } - }, - "id": 3157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6606:3:14", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "6592:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "functionReturnParameters": 3152, - "id": 3158, - "nodeType": "Return", - "src": "6585:24:14" - } - ] - }, - "documentation": { - "id": 3148, - "nodeType": "StructuredDocumentation", - "src": "6417:91:14", - "text": " @dev Maximum token supply. Defaults to `type(uint224).max` (2^224^ - 1)." - }, - "id": 3160, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_maxSupply", - "nameLocation": "6522:10:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3149, - "nodeType": "ParameterList", - "parameters": [], - "src": "6532:2:14" - }, - "returnParameters": { - "id": 3152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3151, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3160, - "src": "6566:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 3150, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "6566:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "visibility": "internal" - } - ], - "src": "6565:9:14" - }, - "scope": 3499, - "src": "6513:103:14", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 11190 - ], - "body": { - "id": 3191, - "nodeType": "Block", - "src": "6779:211:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3172, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3163, - "src": "6801:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3173, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3165, - "src": "6810:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3169, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "6789:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC20Votes_$3499_$", - "typeString": "type(contract super ERC20Votes)" - } - }, - "id": 3171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6795:5:14", - "memberName": "_mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 11190, - "src": "6789:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6789:28:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3175, - "nodeType": "ExpressionStatement", - "src": "6789:28:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3177, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10871, - "src": "6835:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6835:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3179, - "name": "_maxSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3160, - "src": "6852:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint224_$", - "typeString": "function () view returns (uint224)" - } - }, - "id": 3180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6852:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "6835:29:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433230566f7465733a20746f74616c20737570706c79207269736b73206f766572666c6f77696e6720766f746573", - "id": 3182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6866:50:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_97859f657b3d95198b68f29ae96ee966779795bec3ef1e76700d2d39fefd7699", - "typeString": "literal_string \"ERC20Votes: total supply risks overflowing votes\"" - }, - "value": "ERC20Votes: total supply risks overflowing votes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_97859f657b3d95198b68f29ae96ee966779795bec3ef1e76700d2d39fefd7699", - "typeString": "literal_string \"ERC20Votes: total supply risks overflowing votes\"" - } - ], - "id": 3176, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6827:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6827:90:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3184, - "nodeType": "ExpressionStatement", - "src": "6827:90:14" - }, - { - "expression": { - "arguments": [ - { - "id": 3186, - "name": "_totalSupplyCheckpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "6945:23:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - { - "id": 3187, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3469, - "src": "6970:4:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - { - "id": 3188, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3165, - "src": "6976:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3185, - "name": "_writeCheckpoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3455, - "src": "6928:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6928:55:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "id": 3190, - "nodeType": "ExpressionStatement", - "src": "6928:55:14" - } - ] - }, - "documentation": { - "id": 3161, - "nodeType": "StructuredDocumentation", - "src": "6622:78:14", - "text": " @dev Snapshots the totalSupply after it has been increased." - }, - "id": 3192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "6714:5:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3167, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6770:8:14" - }, - "parameters": { - "id": 3166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3163, - "mutability": "mutable", - "name": "account", - "nameLocation": "6728:7:14", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "6720:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6720:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3165, - "mutability": "mutable", - "name": "amount", - "nameLocation": "6745:6:14", - "nodeType": "VariableDeclaration", - "scope": 3192, - "src": "6737:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6737:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6719:33:14" - }, - "returnParameters": { - "id": 3168, - "nodeType": "ParameterList", - "parameters": [], - "src": "6779:0:14" - }, - "scope": 3499, - "src": "6705:285:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 11262 - ], - "body": { - "id": 3214, - "nodeType": "Block", - "src": "7153:116:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3204, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "7175:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3205, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3197, - "src": "7184:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3201, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "7163:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC20Votes_$3499_$", - "typeString": "type(contract super ERC20Votes)" - } - }, - "id": 3203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7169:5:14", - "memberName": "_burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 11262, - "src": "7163:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7163:28:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3207, - "nodeType": "ExpressionStatement", - "src": "7163:28:14" - }, - { - "expression": { - "arguments": [ - { - "id": 3209, - "name": "_totalSupplyCheckpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "7219:23:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - { - "id": 3210, - "name": "_subtract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3483, - "src": "7244:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - { - "id": 3211, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3197, - "src": "7255:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3208, - "name": "_writeCheckpoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3455, - "src": "7202:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7202:60:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "id": 3213, - "nodeType": "ExpressionStatement", - "src": "7202:60:14" - } - ] - }, - "documentation": { - "id": 3193, - "nodeType": "StructuredDocumentation", - "src": "6996:78:14", - "text": " @dev Snapshots the totalSupply after it has been decreased." - }, - "id": 3215, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "7088:5:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3199, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7144:8:14" - }, - "parameters": { - "id": 3198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3195, - "mutability": "mutable", - "name": "account", - "nameLocation": "7102:7:14", - "nodeType": "VariableDeclaration", - "scope": 3215, - "src": "7094:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7094:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3197, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7119:6:14", - "nodeType": "VariableDeclaration", - "scope": 3215, - "src": "7111:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7111:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7093:33:14" - }, - "returnParameters": { - "id": 3200, - "nodeType": "ParameterList", - "parameters": [], - "src": "7153:0:14" - }, - "scope": 3499, - "src": "7079:190:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 11372 - ], - "body": { - "id": 3244, - "nodeType": "Block", - "src": "7536:127:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3229, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "7572:4:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3230, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "7578:2:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3231, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "7582:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3226, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "7546:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_ERC20Votes_$3499_$", - "typeString": "type(contract super ERC20Votes)" - } - }, - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7552:19:14", - "memberName": "_afterTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 11372, - "src": "7546:25:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7546:43:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3233, - "nodeType": "ExpressionStatement", - "src": "7546:43:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3236, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "7627:4:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3235, - "name": "delegates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2886, - "src": "7617:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_address_$", - "typeString": "function (address) view returns (address)" - } - }, - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7617:15:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 3239, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "7644:2:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3238, - "name": "delegates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2886, - "src": "7634:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_address_$", - "typeString": "function (address) view returns (address)" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7634:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3241, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "7649:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3234, - "name": "_moveVotingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3355, - "src": "7600:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7600:56:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3243, - "nodeType": "ExpressionStatement", - "src": "7600:56:14" - } - ] - }, - "documentation": { - "id": 3216, - "nodeType": "StructuredDocumentation", - "src": "7275:129:14", - "text": " @dev Move voting power when tokens are transferred.\n Emits a {IVotes-DelegateVotesChanged} event." - }, - "id": 3245, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "7418:19:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3224, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7527:8:14" - }, - "parameters": { - "id": 3223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3218, - "mutability": "mutable", - "name": "from", - "nameLocation": "7455:4:14", - "nodeType": "VariableDeclaration", - "scope": 3245, - "src": "7447:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3217, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7447:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3220, - "mutability": "mutable", - "name": "to", - "nameLocation": "7477:2:14", - "nodeType": "VariableDeclaration", - "scope": 3245, - "src": "7469:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3219, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7469:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3222, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7497:6:14", - "nodeType": "VariableDeclaration", - "scope": 3245, - "src": "7489:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7489:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7437:72:14" - }, - "returnParameters": { - "id": 3225, - "nodeType": "ParameterList", - "parameters": [], - "src": "7536:0:14" - }, - "scope": 3499, - "src": "7409:254:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3283, - "nodeType": "Block", - "src": "7908:306:14", - "statements": [ - { - "assignments": [ - 3254 - ], - "declarations": [ - { - "constant": false, - "id": 3254, - "mutability": "mutable", - "name": "currentDelegate", - "nameLocation": "7926:15:14", - "nodeType": "VariableDeclaration", - "scope": 3283, - "src": "7918:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7918:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 3258, - "initialValue": { - "arguments": [ - { - "id": 3256, - "name": "delegator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3248, - "src": "7954:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3255, - "name": "delegates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2886, - "src": "7944:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_address_$", - "typeString": "function (address) view returns (address)" - } - }, - "id": 3257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7944:20:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7918:46:14" - }, - { - "assignments": [ - 3260 - ], - "declarations": [ - { - "constant": false, - "id": 3260, - "mutability": "mutable", - "name": "delegatorBalance", - "nameLocation": "7982:16:14", - "nodeType": "VariableDeclaration", - "scope": 3283, - "src": "7974:24:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7974:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3264, - "initialValue": { - "arguments": [ - { - "id": 3262, - "name": "delegator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3248, - "src": "8011:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3261, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10885, - "src": "8001:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 3263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8001:20:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7974:47:14" - }, - { - "expression": { - "id": 3269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3265, - "name": "_delegates", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2827, - "src": "8031:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_address_$", - "typeString": "mapping(address => address)" - } - }, - "id": 3267, - "indexExpression": { - "id": 3266, - "name": "delegator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3248, - "src": "8042:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8031:21:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3268, - "name": "delegatee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "8055:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8031:33:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3270, - "nodeType": "ExpressionStatement", - "src": "8031:33:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3272, - "name": "delegator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3248, - "src": "8096:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3273, - "name": "currentDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3254, - "src": "8107:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3274, - "name": "delegatee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "8124:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3271, - "name": "DelegateChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7809, - "src": "8080:15:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address,address)" - } - }, - "id": 3275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8080:54:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3276, - "nodeType": "EmitStatement", - "src": "8075:59:14" - }, - { - "expression": { - "arguments": [ - { - "id": 3278, - "name": "currentDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3254, - "src": "8162:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3279, - "name": "delegatee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3250, - "src": "8179:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3280, - "name": "delegatorBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "8190:16:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3277, - "name": "_moveVotingPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3355, - "src": "8145:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8145:62:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3282, - "nodeType": "ExpressionStatement", - "src": "8145:62:14" - } - ] - }, - "documentation": { - "id": 3246, - "nodeType": "StructuredDocumentation", - "src": "7669:160:14", - "text": " @dev Change delegation for `delegator` to `delegatee`.\n Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}." - }, - "id": 3284, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_delegate", - "nameLocation": "7843:9:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3248, - "mutability": "mutable", - "name": "delegator", - "nameLocation": "7861:9:14", - "nodeType": "VariableDeclaration", - "scope": 3284, - "src": "7853:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3247, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7853:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3250, - "mutability": "mutable", - "name": "delegatee", - "nameLocation": "7880:9:14", - "nodeType": "VariableDeclaration", - "scope": 3284, - "src": "7872:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7872:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7852:38:14" - }, - "returnParameters": { - "id": 3252, - "nodeType": "ParameterList", - "parameters": [], - "src": "7908:0:14" - }, - "scope": 3499, - "src": "7834:380:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3354, - "nodeType": "Block", - "src": "8326:521:14", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3293, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3286, - "src": "8340:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 3294, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3288, - "src": "8347:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8340:10:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3296, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3290, - "src": "8354:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8363:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8354:10:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8340:24:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3353, - "nodeType": "IfStatement", - "src": "8336:505:14", - "trueBody": { - "id": 3352, - "nodeType": "Block", - "src": "8366:475:14", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3300, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3286, - "src": "8384:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8399:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8391:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3301, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8391:7:14", - "typeDescriptions": {} - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8391:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8384:17:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3325, - "nodeType": "IfStatement", - "src": "8380:221:14", - "trueBody": { - "id": 3324, - "nodeType": "Block", - "src": "8403:198:14", - "statements": [ - { - "assignments": [ - 3307, - 3309 - ], - "declarations": [ - { - "constant": false, - "id": 3307, - "mutability": "mutable", - "name": "oldWeight", - "nameLocation": "8430:9:14", - "nodeType": "VariableDeclaration", - "scope": 3324, - "src": "8422:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8422:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3309, - "mutability": "mutable", - "name": "newWeight", - "nameLocation": "8449:9:14", - "nodeType": "VariableDeclaration", - "scope": 3324, - "src": "8441:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8441:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3317, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 3311, - "name": "_checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "8479:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)" - } - }, - "id": 3313, - "indexExpression": { - "id": 3312, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3286, - "src": "8492:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8479:17:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - { - "id": 3314, - "name": "_subtract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3483, - "src": "8498:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - { - "id": 3315, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3290, - "src": "8509:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3310, - "name": "_writeCheckpoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3455, - "src": "8462:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)" - } - }, - "id": 3316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8462:54:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8421:95:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3319, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3286, - "src": "8560:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3320, - "name": "oldWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3307, - "src": "8565:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3321, - "name": "newWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3309, - "src": "8576:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3318, - "name": "DelegateVotesChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "8539:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 3322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8539:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3323, - "nodeType": "EmitStatement", - "src": "8534:52:14" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3326, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3288, - "src": "8619:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8634:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8626:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8626:7:14", - "typeDescriptions": {} - } - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8626:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8619:17:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3351, - "nodeType": "IfStatement", - "src": "8615:216:14", - "trueBody": { - "id": 3350, - "nodeType": "Block", - "src": "8638:193:14", - "statements": [ - { - "assignments": [ - 3333, - 3335 - ], - "declarations": [ - { - "constant": false, - "id": 3333, - "mutability": "mutable", - "name": "oldWeight", - "nameLocation": "8665:9:14", - "nodeType": "VariableDeclaration", - "scope": 3350, - "src": "8657:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8657:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3335, - "mutability": "mutable", - "name": "newWeight", - "nameLocation": "8684:9:14", - "nodeType": "VariableDeclaration", - "scope": 3350, - "src": "8676:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8676:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3343, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 3337, - "name": "_checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "8714:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)" - } - }, - "id": 3339, - "indexExpression": { - "id": 3338, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3288, - "src": "8727:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8714:17:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - } - }, - { - "id": 3340, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3469, - "src": "8733:4:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - { - "id": 3341, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3290, - "src": "8739:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage ref" - }, - { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3336, - "name": "_writeCheckpoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3455, - "src": "8697:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)" - } - }, - "id": 3342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8697:49:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8656:90:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3345, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3288, - "src": "8790:3:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3346, - "name": "oldWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3333, - "src": "8795:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3347, - "name": "newWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "8806:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3344, - "name": "DelegateVotesChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "8769:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8769:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3349, - "nodeType": "EmitStatement", - "src": "8764:52:14" - } - ] - } - } - ] - } - } - ] - }, - "id": 3355, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_moveVotingPower", - "nameLocation": "8229:16:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3286, - "mutability": "mutable", - "name": "src", - "nameLocation": "8263:3:14", - "nodeType": "VariableDeclaration", - "scope": 3355, - "src": "8255:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8255:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3288, - "mutability": "mutable", - "name": "dst", - "nameLocation": "8284:3:14", - "nodeType": "VariableDeclaration", - "scope": 3355, - "src": "8276:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3287, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8276:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3290, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8305:6:14", - "nodeType": "VariableDeclaration", - "scope": 3355, - "src": "8297:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8297:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8245:72:14" - }, - "returnParameters": { - "id": 3292, - "nodeType": "ParameterList", - "parameters": [], - "src": "8326:0:14" - }, - "scope": 3499, - "src": "8220:627:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 3454, - "nodeType": "Block", - "src": "9061:508:14", - "statements": [ - { - "assignments": [ - 3379 - ], - "declarations": [ - { - "constant": false, - "id": 3379, - "mutability": "mutable", - "name": "pos", - "nameLocation": "9079:3:14", - "nodeType": "VariableDeclaration", - "scope": 3454, - "src": "9071:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9071:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3382, - "initialValue": { - "expression": { - "id": 3380, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "9085:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - "id": 3381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9091:6:14", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9085:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9071:26:14" - }, - { - "assignments": [ - 3385 - ], - "declarations": [ - { - "constant": false, - "id": 3385, - "mutability": "mutable", - "name": "oldCkpt", - "nameLocation": "9126:7:14", - "nodeType": "VariableDeclaration", - "scope": 3454, - "src": "9108:25:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - }, - "typeName": { - "id": 3384, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3383, - "name": "Checkpoint", - "nameLocations": [ - "9108:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "9108:10:14" - }, - "referencedDeclaration": 2818, - "src": "9108:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "visibility": "internal" - } - ], - "id": 3400, - "initialValue": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3386, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3379, - "src": "9136:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9143:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9136:8:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "arguments": [ - { - "id": 3394, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "9180:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3395, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3379, - "src": "9187:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 3396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9193:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9187:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3393, - "name": "_unsafeAccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3498, - "src": "9166:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$2818_storage_ptr_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)" - } - }, - "id": 3398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9166:29:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage pointer" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "9136:59:14", - "trueExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9158:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 3391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9161:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3389, - "name": "Checkpoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "9147:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Checkpoint_$2818_storage_ptr_$", - "typeString": "type(struct ERC20Votes.Checkpoint storage pointer)" - } - }, - "id": 3392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9147:16:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint memory" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9108:87:14" - }, - { - "expression": { - "id": 3404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3401, - "name": "oldWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "9206:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 3402, - "name": "oldCkpt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "9218:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint memory" - } - }, - "id": 3403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9226:5:14", - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "9218:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9206:25:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3405, - "nodeType": "ExpressionStatement", - "src": "9206:25:14" - }, - { - "expression": { - "id": 3411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3406, - "name": "newWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "9241:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3408, - "name": "oldWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "9256:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3409, - "name": "delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3371, - "src": "9267:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3407, - "name": "op", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3369, - "src": "9253:2:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 3410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9253:20:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9241:32:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3412, - "nodeType": "ExpressionStatement", - "src": "9241:32:14" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3413, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3379, - "src": "9288:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9294:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9288:7:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3416, - "name": "oldCkpt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "9299:7:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint memory" - } - }, - "id": 3417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9307:9:14", - "memberName": "fromBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 2815, - "src": "9299:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3418, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "9320:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9326:6:14", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "9320:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9299:33:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9288:44:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3452, - "nodeType": "Block", - "src": "9432:131:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 3442, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "9498:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9504:6:14", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "9498:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3440, - "name": "SafeCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "9480:8:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeCast_$6501_$", - "typeString": "type(library SafeCast)" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9489:8:14", - "memberName": "toUint32", - "nodeType": "MemberAccess", - "referencedDeclaration": 5663, - "src": "9480:17:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint32_$", - "typeString": "function (uint256) pure returns (uint32)" - } - }, - "id": 3444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9480:31:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - { - "arguments": [ - { - "id": 3447, - "name": "newWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "9539:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3445, - "name": "SafeCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "9520:8:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeCast_$6501_$", - "typeString": "type(library SafeCast)" - } - }, - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9529:9:14", - "memberName": "toUint224", - "nodeType": "MemberAccess", - "referencedDeclaration": 5063, - "src": "9520:18:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint224_$", - "typeString": "function (uint256) pure returns (uint224)" - } - }, - "id": 3448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9520:29:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "id": 3439, - "name": "Checkpoint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "9457:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Checkpoint_$2818_storage_ptr_$", - "typeString": "type(struct ERC20Votes.Checkpoint storage pointer)" - } - }, - "id": 3449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "9469:9:14", - "9513:5:14" - ], - "names": [ - "fromBlock", - "votes" - ], - "nodeType": "FunctionCall", - "src": "9457:94:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Checkpoint_$2818_memory_ptr", - "typeString": "struct ERC20Votes.Checkpoint memory" - } - ], - "expression": { - "id": 3436, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "9446:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9452:4:14", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "9446:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$2818_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,struct ERC20Votes.Checkpoint storage ref)" - } - }, - "id": 3450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9446:106:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3451, - "nodeType": "ExpressionStatement", - "src": "9446:106:14" - } - ] - }, - "id": 3453, - "nodeType": "IfStatement", - "src": "9284:279:14", - "trueBody": { - "id": 3435, - "nodeType": "Block", - "src": "9334:92:14", - "statements": [ - { - "expression": { - "id": 3433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "arguments": [ - { - "id": 3423, - "name": "ckpts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "9362:5:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3424, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3379, - "src": "9369:3:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 3425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9375:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9369:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage ref[] storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3422, - "name": "_unsafeAccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3498, - "src": "9348:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$2818_storage_ptr_$", - "typeString": "function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)" - } - }, - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9348:29:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint storage pointer" - } - }, - "id": 3428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "9378:5:14", - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2817, - "src": "9348:35:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3431, - "name": "newWeight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "9405:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 3429, - "name": "SafeCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "9386:8:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeCast_$6501_$", - "typeString": "type(library SafeCast)" - } - }, - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9395:9:14", - "memberName": "toUint224", - "nodeType": "MemberAccess", - "referencedDeclaration": 5063, - "src": "9386:18:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint224_$", - "typeString": "function (uint256) pure returns (uint224)" - } - }, - "id": 3432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9386:29:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "9348:67:14", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 3434, - "nodeType": "ExpressionStatement", - "src": "9348:67:14" - } - ] - } - } - ] - }, - "id": 3455, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_writeCheckpoint", - "nameLocation": "8862:16:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3359, - "mutability": "mutable", - "name": "ckpts", - "nameLocation": "8909:5:14", - "nodeType": "VariableDeclaration", - "scope": 3455, - "src": "8888:26:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - }, - "typeName": { - "baseType": { - "id": 3357, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3356, - "name": "Checkpoint", - "nameLocations": [ - "8888:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "8888:10:14" - }, - "referencedDeclaration": 2818, - "src": "8888:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "id": 3358, - "nodeType": "ArrayTypeName", - "src": "8888:12:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3369, - "mutability": "mutable", - "name": "op", - "nameLocation": "8974:2:14", - "nodeType": "VariableDeclaration", - "scope": 3455, - "src": "8924:52:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - }, - "typeName": { - "id": 3368, - "nodeType": "FunctionTypeName", - "parameterTypes": { - "id": 3364, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3361, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3368, - "src": "8933:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8933:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3363, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3368, - "src": "8942:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8942:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8932:18:14" - }, - "returnParameterTypes": { - "id": 3367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3366, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3368, - "src": "8965:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8965:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8964:9:14" - }, - "src": "8924:52:14", - "stateMutability": "view", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - }, - "visibility": "internal" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3371, - "mutability": "mutable", - "name": "delta", - "nameLocation": "8994:5:14", - "nodeType": "VariableDeclaration", - "scope": 3455, - "src": "8986:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8986:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8878:127:14" - }, - "returnParameters": { - "id": 3377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3374, - "mutability": "mutable", - "name": "oldWeight", - "nameLocation": "9031:9:14", - "nodeType": "VariableDeclaration", - "scope": 3455, - "src": "9023:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9023:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3376, - "mutability": "mutable", - "name": "newWeight", - "nameLocation": "9050:9:14", - "nodeType": "VariableDeclaration", - "scope": 3455, - "src": "9042:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9042:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9022:38:14" - }, - "scope": 3499, - "src": "8853:716:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 3468, - "nodeType": "Block", - "src": "9642:29:14", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3464, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3457, - "src": "9659:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 3465, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3459, - "src": "9663:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9659:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3463, - "id": 3467, - "nodeType": "Return", - "src": "9652:12:14" - } - ] - }, - "id": 3469, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_add", - "nameLocation": "9584:4:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3457, - "mutability": "mutable", - "name": "a", - "nameLocation": "9597:1:14", - "nodeType": "VariableDeclaration", - "scope": 3469, - "src": "9589:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9589:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3459, - "mutability": "mutable", - "name": "b", - "nameLocation": "9608:1:14", - "nodeType": "VariableDeclaration", - "scope": 3469, - "src": "9600:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9600:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9588:22:14" - }, - "returnParameters": { - "id": 3463, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3462, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3469, - "src": "9633:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9633:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9632:9:14" - }, - "scope": 3499, - "src": "9575:96:14", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 3482, - "nodeType": "Block", - "src": "9749:29:14", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3478, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3471, - "src": "9766:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3479, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3473, - "src": "9770:1:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9766:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3477, - "id": 3481, - "nodeType": "Return", - "src": "9759:12:14" - } - ] - }, - "id": 3483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_subtract", - "nameLocation": "9686:9:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3471, - "mutability": "mutable", - "name": "a", - "nameLocation": "9704:1:14", - "nodeType": "VariableDeclaration", - "scope": 3483, - "src": "9696:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9696:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3473, - "mutability": "mutable", - "name": "b", - "nameLocation": "9715:1:14", - "nodeType": "VariableDeclaration", - "scope": 3483, - "src": "9707:9:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9707:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9695:22:14" - }, - "returnParameters": { - "id": 3477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3476, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3483, - "src": "9740:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3475, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9740:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9739:9:14" - }, - "scope": 3499, - "src": "9677:101:14", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 3497, - "nodeType": "Block", - "src": "10034:126:14", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "10053:101:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10074:1:14", - "type": "", - "value": "0" - }, - { - "name": "ckpts.slot", - "nodeType": "YulIdentifier", - "src": "10077:10:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10067:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10067:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10067:21:14" - }, - { - "nodeType": "YulAssignment", - "src": "10101:43:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10130:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10133:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "10120:9:14" - }, - "nodeType": "YulFunctionCall", - "src": "10120:18:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10140:3:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10116:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10116:28:14" - }, - "variableNames": [ - { - "name": "result.slot", - "nodeType": "YulIdentifier", - "src": "10101:11:14" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 3488, - "isOffset": false, - "isSlot": true, - "src": "10077:10:14", - "suffix": "slot", - "valueSize": 1 - }, - { - "declaration": 3490, - "isOffset": false, - "isSlot": false, - "src": "10140:3:14", - "valueSize": 1 - }, - { - "declaration": 3494, - "isOffset": false, - "isSlot": true, - "src": "10101:11:14", - "suffix": "slot", - "valueSize": 1 - } - ], - "id": 3496, - "nodeType": "InlineAssembly", - "src": "10044:110:14" - } - ] - }, - "documentation": { - "id": 3484, - "nodeType": "StructuredDocumentation", - "src": "9784:132:14", - "text": " @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds." - }, - "id": 3498, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_unsafeAccess", - "nameLocation": "9930:13:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3491, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3488, - "mutability": "mutable", - "name": "ckpts", - "nameLocation": "9965:5:14", - "nodeType": "VariableDeclaration", - "scope": 3498, - "src": "9944:26:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - }, - "typeName": { - "baseType": { - "id": 3486, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3485, - "name": "Checkpoint", - "nameLocations": [ - "9944:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "9944:10:14" - }, - "referencedDeclaration": 2818, - "src": "9944:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "id": 3487, - "nodeType": "ArrayTypeName", - "src": "9944:12:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$2818_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3490, - "mutability": "mutable", - "name": "pos", - "nameLocation": "9980:3:14", - "nodeType": "VariableDeclaration", - "scope": 3498, - "src": "9972:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3489, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9972:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9943:41:14" - }, - "returnParameters": { - "id": 3495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3494, - "mutability": "mutable", - "name": "result", - "nameLocation": "10026:6:14", - "nodeType": "VariableDeclaration", - "scope": 3498, - "src": "10007:25:14", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - }, - "typeName": { - "id": 3493, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3492, - "name": "Checkpoint", - "nameLocations": [ - "10007:10:14" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2818, - "src": "10007:10:14" - }, - "referencedDeclaration": 2818, - "src": "10007:10:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$2818_storage_ptr", - "typeString": "struct ERC20Votes.Checkpoint" - } - }, - "visibility": "internal" - } - ], - "src": "10006:27:14" - }, - "scope": 3499, - "src": "9921:239:14", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 3500, - "src": "1253:8909:14", - "usedErrors": [] - } - ], - "src": "121:10042:14" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "ERC20Votes", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ECDSA", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC20Permit", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Metadata", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Permit", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IVotes", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/SafeCast", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Strings" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's, and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1. NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module. This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting power can be queried through the public accessors {getVotes} and {getPastVotes}. By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. _Available since v4.2._", - "kind": "dev", - "methods": { - "DOMAIN_SEPARATOR()": { - "details": "See {IERC20Permit-DOMAIN_SEPARATOR}." - }, - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "checkpoints(address,uint32)": { - "details": "Get the `pos`-th checkpoint for `account`." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "delegate(address)": { - "details": "Delegate votes from the sender to `delegatee`." - }, - "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": { - "details": "Delegates votes from signer to `delegatee`" - }, - "delegates(address)": { - "details": "Get the address `account` is currently delegating to." - }, - "getPastTotalSupply(uint256)": { - "details": "Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances. It is but NOT the sum of all the delegated votes! Requirements: - `blockNumber` must have been already mined" - }, - "getPastVotes(address,uint256)": { - "details": "Retrieve the number of votes for `account` at the end of `blockNumber`. Requirements: - `blockNumber` must have been already mined" - }, - "getVotes(address)": { - "details": "Gets the current votes balance for `account`" - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "nonces(address)": { - "details": "See {IERC20Permit-nonces}." - }, - "numCheckpoints(address)": { - "details": "Get number of checkpoints for `account`." - }, - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": { - "details": "See {IERC20Permit-permit}." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "offset": [ - 1253, - 10162 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "ca8b66de2bb44e2e1641a208bde5f215095f3bd0", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.1) (token/ERC20/extensions/ERC20Votes.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./draft-ERC20Permit.sol\";\nimport \"../../../utils/math/Math.sol\";\nimport \"../../../governance/utils/IVotes.sol\";\nimport \"../../../utils/math/SafeCast.sol\";\nimport \"../../../utils/cryptography/ECDSA.sol\";\n\n/**\n * @dev Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's,\n * and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1.\n *\n * NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module.\n *\n * This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either\n * by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting\n * power can be queried through the public accessors {getVotes} and {getPastVotes}.\n *\n * By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it\n * requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked.\n *\n * _Available since v4.2._\n */\nabstract contract ERC20Votes is IVotes, ERC20Permit {\n struct Checkpoint {\n uint32 fromBlock;\n uint224 votes;\n }\n\n bytes32 private constant _DELEGATION_TYPEHASH =\n keccak256(\"Delegation(address delegatee,uint256 nonce,uint256 expiry)\");\n\n mapping(address => address) private _delegates;\n mapping(address => Checkpoint[]) private _checkpoints;\n Checkpoint[] private _totalSupplyCheckpoints;\n\n /**\n * @dev Get the `pos`-th checkpoint for `account`.\n */\n function checkpoints(address account, uint32 pos) public view virtual returns (Checkpoint memory) {\n return _checkpoints[account][pos];\n }\n\n /**\n * @dev Get number of checkpoints for `account`.\n */\n function numCheckpoints(address account) public view virtual returns (uint32) {\n return SafeCast.toUint32(_checkpoints[account].length);\n }\n\n /**\n * @dev Get the address `account` is currently delegating to.\n */\n function delegates(address account) public view virtual override returns (address) {\n return _delegates[account];\n }\n\n /**\n * @dev Gets the current votes balance for `account`\n */\n function getVotes(address account) public view virtual override returns (uint256) {\n uint256 pos = _checkpoints[account].length;\n return pos == 0 ? 0 : _checkpoints[account][pos - 1].votes;\n }\n\n /**\n * @dev Retrieve the number of votes for `account` at the end of `blockNumber`.\n *\n * Requirements:\n *\n * - `blockNumber` must have been already mined\n */\n function getPastVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {\n require(blockNumber < block.number, \"ERC20Votes: block not yet mined\");\n return _checkpointsLookup(_checkpoints[account], blockNumber);\n }\n\n /**\n * @dev Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances.\n * It is but NOT the sum of all the delegated votes!\n *\n * Requirements:\n *\n * - `blockNumber` must have been already mined\n */\n function getPastTotalSupply(uint256 blockNumber) public view virtual override returns (uint256) {\n require(blockNumber < block.number, \"ERC20Votes: block not yet mined\");\n return _checkpointsLookup(_totalSupplyCheckpoints, blockNumber);\n }\n\n /**\n * @dev Lookup a value in a list of (sorted) checkpoints.\n */\n function _checkpointsLookup(Checkpoint[] storage ckpts, uint256 blockNumber) private view returns (uint256) {\n // We run a binary search to look for the earliest checkpoint taken after `blockNumber`.\n //\n // Initially we check if the block is recent to narrow the search range.\n // During the loop, the index of the wanted checkpoint remains in the range [low-1, high).\n // With each iteration, either `low` or `high` is moved towards the middle of the range to maintain the invariant.\n // - If the middle checkpoint is after `blockNumber`, we look in [low, mid)\n // - If the middle checkpoint is before or equal to `blockNumber`, we look in [mid+1, high)\n // Once we reach a single value (when low == high), we've found the right checkpoint at the index high-1, if not\n // out of bounds (in which case we're looking too far in the past and the result is 0).\n // Note that if the latest checkpoint available is exactly for `blockNumber`, we end up with an index that is\n // past the end of the array, so we technically don't find a checkpoint after `blockNumber`, but it works out\n // the same.\n uint256 length = ckpts.length;\n\n uint256 low = 0;\n uint256 high = length;\n\n if (length > 5) {\n uint256 mid = length - Math.sqrt(length);\n if (_unsafeAccess(ckpts, mid).fromBlock > blockNumber) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n if (_unsafeAccess(ckpts, mid).fromBlock > blockNumber) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n return high == 0 ? 0 : _unsafeAccess(ckpts, high - 1).votes;\n }\n\n /**\n * @dev Delegate votes from the sender to `delegatee`.\n */\n function delegate(address delegatee) public virtual override {\n _delegate(_msgSender(), delegatee);\n }\n\n /**\n * @dev Delegates votes from signer to `delegatee`\n */\n function delegateBySig(\n address delegatee,\n uint256 nonce,\n uint256 expiry,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override {\n require(block.timestamp <= expiry, \"ERC20Votes: signature expired\");\n address signer = ECDSA.recover(\n _hashTypedDataV4(keccak256(abi.encode(_DELEGATION_TYPEHASH, delegatee, nonce, expiry))),\n v,\n r,\n s\n );\n require(nonce == _useNonce(signer), \"ERC20Votes: invalid nonce\");\n _delegate(signer, delegatee);\n }\n\n /**\n * @dev Maximum token supply. Defaults to `type(uint224).max` (2^224^ - 1).\n */\n function _maxSupply() internal view virtual returns (uint224) {\n return type(uint224).max;\n }\n\n /**\n * @dev Snapshots the totalSupply after it has been increased.\n */\n function _mint(address account, uint256 amount) internal virtual override {\n super._mint(account, amount);\n require(totalSupply() <= _maxSupply(), \"ERC20Votes: total supply risks overflowing votes\");\n\n _writeCheckpoint(_totalSupplyCheckpoints, _add, amount);\n }\n\n /**\n * @dev Snapshots the totalSupply after it has been decreased.\n */\n function _burn(address account, uint256 amount) internal virtual override {\n super._burn(account, amount);\n\n _writeCheckpoint(_totalSupplyCheckpoints, _subtract, amount);\n }\n\n /**\n * @dev Move voting power when tokens are transferred.\n *\n * Emits a {IVotes-DelegateVotesChanged} event.\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual override {\n super._afterTokenTransfer(from, to, amount);\n\n _moveVotingPower(delegates(from), delegates(to), amount);\n }\n\n /**\n * @dev Change delegation for `delegator` to `delegatee`.\n *\n * Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}.\n */\n function _delegate(address delegator, address delegatee) internal virtual {\n address currentDelegate = delegates(delegator);\n uint256 delegatorBalance = balanceOf(delegator);\n _delegates[delegator] = delegatee;\n\n emit DelegateChanged(delegator, currentDelegate, delegatee);\n\n _moveVotingPower(currentDelegate, delegatee, delegatorBalance);\n }\n\n function _moveVotingPower(\n address src,\n address dst,\n uint256 amount\n ) private {\n if (src != dst && amount > 0) {\n if (src != address(0)) {\n (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[src], _subtract, amount);\n emit DelegateVotesChanged(src, oldWeight, newWeight);\n }\n\n if (dst != address(0)) {\n (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[dst], _add, amount);\n emit DelegateVotesChanged(dst, oldWeight, newWeight);\n }\n }\n }\n\n function _writeCheckpoint(\n Checkpoint[] storage ckpts,\n function(uint256, uint256) view returns (uint256) op,\n uint256 delta\n ) private returns (uint256 oldWeight, uint256 newWeight) {\n uint256 pos = ckpts.length;\n\n Checkpoint memory oldCkpt = pos == 0 ? Checkpoint(0, 0) : _unsafeAccess(ckpts, pos - 1);\n\n oldWeight = oldCkpt.votes;\n newWeight = op(oldWeight, delta);\n\n if (pos > 0 && oldCkpt.fromBlock == block.number) {\n _unsafeAccess(ckpts, pos - 1).votes = SafeCast.toUint224(newWeight);\n } else {\n ckpts.push(Checkpoint({fromBlock: SafeCast.toUint32(block.number), votes: SafeCast.toUint224(newWeight)}));\n }\n }\n\n function _add(uint256 a, uint256 b) private pure returns (uint256) {\n return a + b;\n }\n\n function _subtract(uint256 a, uint256 b) private pure returns (uint256) {\n return a - b;\n }\n\n /**\n * @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds.\n */\n function _unsafeAccess(Checkpoint[] storage ckpts, uint256 pos) private pure returns (Checkpoint storage result) {\n assembly {\n mstore(0, ckpts.slot)\n result.slot := add(keccak256(0, 0x20), pos)\n }\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/ERC20Votes.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Governor.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Governor.json deleted file mode 100644 index 79852f26..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Governor.json +++ /dev/null @@ -1,17945 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "allSourcePaths": { - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "2": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "20": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Address.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "25": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Timers.sol", - "26": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "31": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol", - "32": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/structs/DoubleEndedQueue.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "exportedSymbols": { - "Address": [ - 4185 - ], - "Context": [ - 4207 - ], - "DoubleEndedQueue": [ - 6842 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC165": [ - 4960 - ], - "Governor": [ - 1775 - ], - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ], - "IERC721Receiver": [ - 3855 - ], - "IGovernor": [ - 3796 - ], - "Math": [ - 10283 - ], - "SafeCast": [ - 6501 - ], - "Strings": [ - 10470 - ], - "Timers": [ - 4421 - ] - }, - "id": 1776, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 469, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "107:23:2" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "file": "../token/ERC721/IERC721Receiver.sol", - "id": 470, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 3856, - "src": "132:45:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "file": "../token/ERC1155/IERC1155Receiver.sol", - "id": 471, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 3838, - "src": "178:47:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/ECDSA.sol", - "file": "../utils/cryptography/ECDSA.sol", - "id": 472, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 4783, - "src": "226:41:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "file": "../utils/cryptography/EIP712.sol", - "id": 473, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 4937, - "src": "268:42:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "file": "../utils/introspection/ERC165.sol", - "id": 474, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 4961, - "src": "311:43:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol", - "file": "../utils/math/SafeCast.sol", - "id": 475, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 6502, - "src": "355:36:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/structs/DoubleEndedQueue.sol", - "file": "../utils/structs/DoubleEndedQueue.sol", - "id": 476, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 6843, - "src": "392:47:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Address.sol", - "file": "../utils/Address.sol", - "id": 477, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 4186, - "src": "440:30:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 478, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 4208, - "src": "471:30:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Timers.sol", - "file": "../utils/Timers.sol", - "id": 479, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 4422, - "src": "502:29:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "file": "./IGovernor.sol", - "id": 480, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 1776, - "sourceUnit": 3797, - "src": "532:25:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 482, - "name": "Context", - "nameLocations": [ - "1028:7:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4207, - "src": "1028:7:2" - }, - "id": 483, - "nodeType": "InheritanceSpecifier", - "src": "1028:7:2" - }, - { - "baseName": { - "id": 484, - "name": "ERC165", - "nameLocations": [ - "1037:6:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4960, - "src": "1037:6:2" - }, - "id": 485, - "nodeType": "InheritanceSpecifier", - "src": "1037:6:2" - }, - { - "baseName": { - "id": 486, - "name": "EIP712", - "nameLocations": [ - "1045:6:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4936, - "src": "1045:6:2" - }, - "id": 487, - "nodeType": "InheritanceSpecifier", - "src": "1045:6:2" - }, - { - "baseName": { - "id": 488, - "name": "IGovernor", - "nameLocations": [ - "1053:9:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3796, - "src": "1053:9:2" - }, - "id": 489, - "nodeType": "InheritanceSpecifier", - "src": "1053:9:2" - }, - { - "baseName": { - "id": 490, - "name": "IERC721Receiver", - "nameLocations": [ - "1064:15:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3855, - "src": "1064:15:2" - }, - "id": 491, - "nodeType": "InheritanceSpecifier", - "src": "1064:15:2" - }, - { - "baseName": { - "id": 492, - "name": "IERC1155Receiver", - "nameLocations": [ - "1081:16:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3837, - "src": "1081:16:2" - }, - "id": 493, - "nodeType": "InheritanceSpecifier", - "src": "1081:16:2" - } - ], - "canonicalName": "Governor", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 481, - "nodeType": "StructuredDocumentation", - "src": "559:438:2", - "text": " @dev Core of the governance system, designed to be extended though various modules.\n This contract is abstract and requires several function to be implemented in various modules:\n - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote}\n - A voting module must implement {_getVotes}\n - Additionanly, the {votingPeriod} must also be implemented\n _Available since v4.3._" - }, - "fullyImplemented": false, - "id": 1775, - "linearizedBaseContracts": [ - 1775, - 3837, - 3855, - 3796, - 4936, - 4960, - 10295, - 4207 - ], - "name": "Governor", - "nameLocation": "1016:8:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 497, - "libraryName": { - "id": 494, - "name": "DoubleEndedQueue", - "nameLocations": [ - "1110:16:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6842, - "src": "1110:16:2" - }, - "nodeType": "UsingForDirective", - "src": "1104:57:2", - "typeName": { - "id": 496, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 495, - "name": "DoubleEndedQueue.Bytes32Deque", - "nameLocations": [ - "1131:16:2", - "1148:12:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6520, - "src": "1131:29:2" - }, - "referencedDeclaration": 6520, - "src": "1131:29:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Deque_$6520_storage_ptr", - "typeString": "struct DoubleEndedQueue.Bytes32Deque" - } - } - }, - { - "global": false, - "id": 500, - "libraryName": { - "id": 498, - "name": "SafeCast", - "nameLocations": [ - "1172:8:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6501, - "src": "1172:8:2" - }, - "nodeType": "UsingForDirective", - "src": "1166:27:2", - "typeName": { - "id": 499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1185:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "global": false, - "id": 504, - "libraryName": { - "id": 501, - "name": "Timers", - "nameLocations": [ - "1204:6:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4421, - "src": "1204:6:2" - }, - "nodeType": "UsingForDirective", - "src": "1198:36:2", - "typeName": { - "id": 503, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 502, - "name": "Timers.BlockNumber", - "nameLocations": [ - "1215:6:2", - "1222:11:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4318, - "src": "1215:18:2" - }, - "referencedDeclaration": 4318, - "src": "1215:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage_ptr", - "typeString": "struct Timers.BlockNumber" - } - } - }, - { - "constant": true, - "functionSelector": "deaaa7cc", - "id": 509, - "mutability": "constant", - "name": "BALLOT_TYPEHASH", - "nameLocation": "1264:15:2", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "1240:95:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 505, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1240:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "42616c6c6f742875696e743235362070726f706f73616c49642c75696e743820737570706f727429", - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1292:42:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f", - "typeString": "literal_string \"Ballot(uint256 proposalId,uint8 support)\"" - }, - "value": "Ballot(uint256 proposalId,uint8 support)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f", - "typeString": "literal_string \"Ballot(uint256 proposalId,uint8 support)\"" - } - ], - "id": 506, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1282:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1282:53:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "2fe3e261", - "id": 514, - "mutability": "constant", - "name": "EXTENDED_BALLOT_TYPEHASH", - "nameLocation": "1365:24:2", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "1341:147:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 510, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1341:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "457874656e64656442616c6c6f742875696e743235362070726f706f73616c49642c75696e743820737570706f72742c737472696e6720726561736f6e2c627974657320706172616d7329", - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1410:77:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af88", - "typeString": "literal_string \"ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)\"" - }, - "value": "ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af88", - "typeString": "literal_string \"ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)\"" - } - ], - "id": 511, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1400:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1400:88:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "canonicalName": "Governor.ProposalCore", - "id": 525, - "members": [ - { - "constant": false, - "id": 517, - "mutability": "mutable", - "name": "voteStart", - "nameLocation": "1544:9:2", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "1525:28:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage_ptr", - "typeString": "struct Timers.BlockNumber" - }, - "typeName": { - "id": 516, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 515, - "name": "Timers.BlockNumber", - "nameLocations": [ - "1525:6:2", - "1532:11:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4318, - "src": "1525:18:2" - }, - "referencedDeclaration": 4318, - "src": "1525:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage_ptr", - "typeString": "struct Timers.BlockNumber" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 520, - "mutability": "mutable", - "name": "voteEnd", - "nameLocation": "1582:7:2", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "1563:26:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage_ptr", - "typeString": "struct Timers.BlockNumber" - }, - "typeName": { - "id": 519, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 518, - "name": "Timers.BlockNumber", - "nameLocations": [ - "1563:6:2", - "1570:11:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4318, - "src": "1563:18:2" - }, - "referencedDeclaration": 4318, - "src": "1563:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage_ptr", - "typeString": "struct Timers.BlockNumber" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 522, - "mutability": "mutable", - "name": "executed", - "nameLocation": "1604:8:2", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "1599:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 521, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1599:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 524, - "mutability": "mutable", - "name": "canceled", - "nameLocation": "1627:8:2", - "nodeType": "VariableDeclaration", - "scope": 525, - "src": "1622:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 523, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1622:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "ProposalCore", - "nameLocation": "1502:12:2", - "nodeType": "StructDefinition", - "scope": 1775, - "src": "1495:147:2", - "visibility": "public" - }, - { - "constant": false, - "id": 527, - "mutability": "mutable", - "name": "_name", - "nameLocation": "1663:5:2", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "1648:20:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 526, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1648:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 532, - "mutability": "mutable", - "name": "_proposals", - "nameLocation": "1716:10:2", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "1675:51:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore)" - }, - "typeName": { - "id": 531, - "keyType": { - "id": 528, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1683:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1675:32:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore)" - }, - "valueType": { - "id": 530, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 529, - "name": "ProposalCore", - "nameLocations": [ - "1694:12:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 525, - "src": "1694:12:2" - }, - "referencedDeclaration": 525, - "src": "1694:12:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 535, - "mutability": "mutable", - "name": "_governanceCall", - "nameLocation": "2203:15:2", - "nodeType": "VariableDeclaration", - "scope": 1775, - "src": "2165:53:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Deque_$6520_storage", - "typeString": "struct DoubleEndedQueue.Bytes32Deque" - }, - "typeName": { - "id": 534, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 533, - "name": "DoubleEndedQueue.Bytes32Deque", - "nameLocations": [ - "2165:16:2", - "2182:12:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6520, - "src": "2165:29:2" - }, - "referencedDeclaration": 6520, - "src": "2165:29:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Deque_$6520_storage_ptr", - "typeString": "struct DoubleEndedQueue.Bytes32Deque" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 571, - "nodeType": "Block", - "src": "2989:378:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 539, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "3007:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3007:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 541, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "3023:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3023:11:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3007:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a206f6e6c79476f7665726e616e6365", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3036:26:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_01397b9b23826f2770c44682f6f60114915147b09511a75fee3231adbc22847f", - "typeString": "literal_string \"Governor: onlyGovernance\"" - }, - "value": "Governor: onlyGovernance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_01397b9b23826f2770c44682f6f60114915147b09511a75fee3231adbc22847f", - "typeString": "literal_string \"Governor: onlyGovernance\"" - } - ], - "id": 538, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2999:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2999:64:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "2999:64:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 547, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "3077:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3077:11:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 551, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3100:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - ], - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3092:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3092:7:2", - "typeDescriptions": {} - } - }, - "id": 552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3092:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3077:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 569, - "nodeType": "IfStatement", - "src": "3073:277:2", - "trueBody": { - "id": 568, - "nodeType": "Block", - "src": "3107:243:2", - "statements": [ - { - "assignments": [ - 555 - ], - "declarations": [ - { - "constant": false, - "id": 555, - "mutability": "mutable", - "name": "msgDataHash", - "nameLocation": "3129:11:2", - "nodeType": "VariableDeclaration", - "scope": 568, - "src": "3121:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 554, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3121:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 560, - "initialValue": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 557, - "name": "_msgData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4206, - "src": "3153:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes_calldata_ptr_$", - "typeString": "function () view returns (bytes calldata)" - } - }, - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3153:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 556, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3143:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3143:21:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3121:43:2" - }, - { - "body": { - "id": 566, - "nodeType": "Block", - "src": "3338:2:2", - "statements": [] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 561, - "name": "_governanceCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "3295:15:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Deque_$6520_storage", - "typeString": "struct DoubleEndedQueue.Bytes32Deque storage ref" - } - }, - "id": 562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3311:8:2", - "memberName": "popFront", - "nodeType": "MemberAccess", - "referencedDeclaration": 6678, - "src": "3295:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$6520_storage_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes32Deque_$6520_storage_ptr_$", - "typeString": "function (struct DoubleEndedQueue.Bytes32Deque storage pointer) returns (bytes32)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3295:26:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 564, - "name": "msgDataHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 555, - "src": "3325:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3295:41:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 567, - "nodeType": "WhileStatement", - "src": "3288:52:2" - } - ] - } - }, - { - "id": 570, - "nodeType": "PlaceholderStatement", - "src": "3359:1:2" - } - ] - }, - "documentation": { - "id": 536, - "nodeType": "StructuredDocumentation", - "src": "2225:733:2", - "text": " @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n parameter setters in {GovernorSettings} are protected using this modifier.\n The governance executing address may be different from the Governor's own address, for example it could be a\n timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n for example, additional timelock proposers are not able to change governance parameters without going through the\n governance protocol (since v4.6)." - }, - "id": 572, - "name": "onlyGovernance", - "nameLocation": "2972:14:2", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 537, - "nodeType": "ParameterList", - "parameters": [], - "src": "2986:2:2" - }, - "src": "2963:404:2", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 587, - "nodeType": "Block", - "src": "3499:30:2", - "statements": [ - { - "expression": { - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 583, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "3509:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 584, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "3517:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3509:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "3509:13:2" - } - ] - }, - "documentation": { - "id": 573, - "nodeType": "StructuredDocumentation", - "src": "3373:63:2", - "text": " @dev Sets the value for {name} and {version}" - }, - "id": 588, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 578, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "3481:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 579, - "name": "version", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 674 - ], - "referencedDeclaration": 674, - "src": "3488:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3488:9:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 581, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 577, - "name": "EIP712", - "nameLocations": [ - "3474:6:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4936, - "src": "3474:6:2" - }, - "nodeType": "ModifierInvocation", - "src": "3474:24:2" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 575, - "mutability": "mutable", - "name": "name_", - "nameLocation": "3467:5:2", - "nodeType": "VariableDeclaration", - "scope": 588, - "src": "3453:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 574, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3453:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3452:21:2" - }, - "returnParameters": { - "id": 582, - "nodeType": "ParameterList", - "parameters": [], - "src": "3499:0:2" - }, - "scope": 1775, - "src": "3441:88:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 602, - "nodeType": "Block", - "src": "3708:54:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 593, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "3726:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3726:11:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 597, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3749:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - ], - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3741:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 595, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3741:7:2", - "typeDescriptions": {} - } - }, - "id": 598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3741:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3726:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 592, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3718:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3718:37:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 601, - "nodeType": "ExpressionStatement", - "src": "3718:37:2" - } - ] - }, - "documentation": { - "id": 589, - "nodeType": "StructuredDocumentation", - "src": "3535:133:2", - "text": " @dev Function to receive ETH that will be handled by the governor (disabled if executor is a third party contract)" - }, - "id": 603, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 590, - "nodeType": "ParameterList", - "parameters": [], - "src": "3680:2:2" - }, - "returnParameters": { - "id": 591, - "nodeType": "ParameterList", - "parameters": [], - "src": "3708:0:2" - }, - "scope": 1775, - "src": "3673:89:2", - "stateMutability": "payable", - "virtual": true, - "visibility": "external" - }, - { - "baseFunctions": [ - 4959, - 10294 - ], - "body": { - "id": 653, - "nodeType": "Block", - "src": "3937:630:2", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 614, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "4153:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "expression": { - "arguments": [ - { - "id": 616, - "name": "IGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3796, - "src": "4186:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IGovernor_$3796_$", - "typeString": "type(contract IGovernor)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IGovernor_$3796_$", - "typeString": "type(contract IGovernor)" - } - ], - "id": 615, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4181:4:2", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4181:15:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IGovernor_$3796", - "typeString": "type(contract IGovernor)" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4197:11:2", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "4181:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "expression": { - "expression": { - "id": 619, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4227:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - }, - "id": 620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4232:27:2", - "memberName": "castVoteWithReasonAndParams", - "nodeType": "MemberAccess", - "referencedDeclaration": 1459, - "src": "4227:32:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,uint8,string memory,bytes memory) external returns (uint256)" - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4260:8:2", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "4227:41:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4181:87:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "expression": { - "expression": { - "id": 623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4287:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - }, - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4292:32:2", - "memberName": "castVoteWithReasonAndParamsBySig", - "nodeType": "MemberAccess", - "referencedDeclaration": 1561, - "src": "4287:37:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (uint256,uint8,string memory,bytes memory,uint8,bytes32,bytes32) external returns (uint256)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4325:8:2", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "4287:46:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4181:152:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "expression": { - "expression": { - "id": 627, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4352:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - }, - "id": 628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4357:18:2", - "memberName": "getVotesWithParams", - "nodeType": "MemberAccess", - "referencedDeclaration": 1380, - "src": "4352:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,uint256,bytes memory) view external returns (uint256)" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4376:8:2", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "4352:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4181:203:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "id": 631, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4180:205:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4153:232:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 633, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "4401:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 635, - "name": "IGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3796, - "src": "4421:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IGovernor_$3796_$", - "typeString": "type(contract IGovernor)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IGovernor_$3796_$", - "typeString": "type(contract IGovernor)" - } - ], - "id": 634, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4416:4:2", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4416:15:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IGovernor_$3796", - "typeString": "type(contract IGovernor)" - } - }, - "id": 637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4432:11:2", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "4416:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4401:42:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4153:290:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 640, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "4459:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 642, - "name": "IERC1155Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3837, - "src": "4479:16:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$3837_$", - "typeString": "type(contract IERC1155Receiver)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$3837_$", - "typeString": "type(contract IERC1155Receiver)" - } - ], - "id": 641, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4474:4:2", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4474:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC1155Receiver_$3837", - "typeString": "type(contract IERC1155Receiver)" - } - }, - "id": 644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4497:11:2", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "4474:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4459:49:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4153:355:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 649, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 606, - "src": "4548:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 647, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "4524:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_Governor_$1775_$", - "typeString": "type(contract super Governor)" - } - }, - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4530:17:2", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 4959, - "src": "4524:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4524:36:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4153:407:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 613, - "id": 652, - "nodeType": "Return", - "src": "4134:426:2" - } - ] - }, - "documentation": { - "id": 604, - "nodeType": "StructuredDocumentation", - "src": "3768:56:2", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 654, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "3838:17:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 610, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 608, - "name": "IERC165", - "nameLocations": [ - "3905:7:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10295, - "src": "3905:7:2" - }, - { - "id": 609, - "name": "ERC165", - "nameLocations": [ - "3914:6:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 4960, - "src": "3914:6:2" - } - ], - "src": "3896:25:2" - }, - "parameters": { - "id": 607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 606, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "3863:11:2", - "nodeType": "VariableDeclaration", - "scope": 654, - "src": "3856:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 605, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3856:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "3855:20:2" - }, - "returnParameters": { - "id": 613, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 612, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 654, - "src": "3931:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 611, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3931:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3930:6:2" - }, - "scope": 1775, - "src": "3829:738:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3583 - ], - "body": { - "id": 663, - "nodeType": "Block", - "src": "4692:29:2", - "statements": [ - { - "expression": { - "id": 661, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "4709:5:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 660, - "id": 662, - "nodeType": "Return", - "src": "4702:12:2" - } - ] - }, - "documentation": { - "id": 655, - "nodeType": "StructuredDocumentation", - "src": "4573:45:2", - "text": " @dev See {IGovernor-name}." - }, - "functionSelector": "06fdde03", - "id": 664, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "4632:4:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 657, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4659:8:2" - }, - "parameters": { - "id": 656, - "nodeType": "ParameterList", - "parameters": [], - "src": "4636:2:2" - }, - "returnParameters": { - "id": 660, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 659, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 664, - "src": "4677:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 658, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4677:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4676:15:2" - }, - "scope": 1775, - "src": "4623:98:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3589 - ], - "body": { - "id": 673, - "nodeType": "Block", - "src": "4852:27:2", - "statements": [ - { - "expression": { - "hexValue": "31", - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4869:3:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", - "typeString": "literal_string \"1\"" - }, - "value": "1" - }, - "functionReturnParameters": 670, - "id": 672, - "nodeType": "Return", - "src": "4862:10:2" - } - ] - }, - "documentation": { - "id": 665, - "nodeType": "StructuredDocumentation", - "src": "4727:48:2", - "text": " @dev See {IGovernor-version}." - }, - "functionSelector": "54fd4d50", - "id": 674, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "version", - "nameLocation": "4789:7:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 667, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4819:8:2" - }, - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [], - "src": "4796:2:2" - }, - "returnParameters": { - "id": 670, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 669, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 674, - "src": "4837:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 668, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4837:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4836:15:2" - }, - "scope": 1775, - "src": "4780:99:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3612 - ], - "body": { - "id": 705, - "nodeType": "Block", - "src": "6033:99:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 697, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "6079:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 698, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "6088:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 699, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "6096:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 700, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 686, - "src": "6107:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 695, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "6068:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6072:6:2", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "6068:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6068:55:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 694, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "6058:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6058:66:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6050:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6050:7:2", - "typeDescriptions": {} - } - }, - "id": 703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6050:75:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 691, - "id": 704, - "nodeType": "Return", - "src": "6043:82:2" - } - ] - }, - "documentation": { - "id": 675, - "nodeType": "StructuredDocumentation", - "src": "4885:934:2", - "text": " @dev See {IGovernor-hashProposal}.\n The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n advance, before the proposal is submitted.\n Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n across multiple networks. This also means that in order to execute the same operation twice (on the same\n governor) the proposer will have to change the description in order to avoid proposal id conflicts." - }, - "functionSelector": "c59057e4", - "id": 706, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "hashProposal", - "nameLocation": "5833:12:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 688, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6006:8:2" - }, - "parameters": { - "id": 687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 678, - "mutability": "mutable", - "name": "targets", - "nameLocation": "5872:7:2", - "nodeType": "VariableDeclaration", - "scope": 706, - "src": "5855:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5855:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 677, - "nodeType": "ArrayTypeName", - "src": "5855:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 681, - "mutability": "mutable", - "name": "values", - "nameLocation": "5906:6:2", - "nodeType": "VariableDeclaration", - "scope": 706, - "src": "5889:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5889:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 680, - "nodeType": "ArrayTypeName", - "src": "5889:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 684, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "5937:9:2", - "nodeType": "VariableDeclaration", - "scope": 706, - "src": "5922:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 682, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5922:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 683, - "nodeType": "ArrayTypeName", - "src": "5922:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 686, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "5964:15:2", - "nodeType": "VariableDeclaration", - "scope": 706, - "src": "5956:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 685, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5956:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5845:140:2" - }, - "returnParameters": { - "id": 691, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 690, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 706, - "src": "6024:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 689, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6024:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6023:9:2" - }, - "scope": 1775, - "src": "5824:308:2", - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3621 - ], - "body": { - "id": 792, - "nodeType": "Block", - "src": "6277:826:2", - "statements": [ - { - "assignments": [ - 718 - ], - "declarations": [ - { - "constant": false, - "id": 718, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "6308:8:2", - "nodeType": "VariableDeclaration", - "scope": 792, - "src": "6287:29:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore" - }, - "typeName": { - "id": 717, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 716, - "name": "ProposalCore", - "nameLocations": [ - "6287:12:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 525, - "src": "6287:12:2" - }, - "referencedDeclaration": 525, - "src": "6287:12:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore" - } - }, - "visibility": "internal" - } - ], - "id": 722, - "initialValue": { - "baseExpression": { - "id": 719, - "name": "_proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "6319:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore storage ref)" - } - }, - "id": 721, - "indexExpression": { - "id": 720, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "6330:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6319:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage", - "typeString": "struct Governor.ProposalCore storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6287:54:2" - }, - { - "condition": { - "expression": { - "id": 723, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 718, - "src": "6356:8:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore storage pointer" - } - }, - "id": 724, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6365:8:2", - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 522, - "src": "6356:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 729, - "nodeType": "IfStatement", - "src": "6352:77:2", - "trueBody": { - "id": 728, - "nodeType": "Block", - "src": "6375:54:2", - "statements": [ - { - "expression": { - "expression": { - "id": 725, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "6396:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6410:8:2", - "memberName": "Executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 3513, - "src": "6396:22:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 715, - "id": 727, - "nodeType": "Return", - "src": "6389:29:2" - } - ] - } - }, - { - "condition": { - "expression": { - "id": 730, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 718, - "src": "6443:8:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore storage pointer" - } - }, - "id": 731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6452:8:2", - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 524, - "src": "6443:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 736, - "nodeType": "IfStatement", - "src": "6439:77:2", - "trueBody": { - "id": 735, - "nodeType": "Block", - "src": "6462:54:2", - "statements": [ - { - "expression": { - "expression": { - "id": 732, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "6483:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6497:8:2", - "memberName": "Canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 3508, - "src": "6483:22:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 715, - "id": 734, - "nodeType": "Return", - "src": "6476:29:2" - } - ] - } - }, - { - "assignments": [ - 738 - ], - "declarations": [ - { - "constant": false, - "id": 738, - "mutability": "mutable", - "name": "snapshot", - "nameLocation": "6534:8:2", - "nodeType": "VariableDeclaration", - "scope": 792, - "src": "6526:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6526:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 742, - "initialValue": { - "arguments": [ - { - "id": 740, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "6562:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 739, - "name": "proposalSnapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 810 - ], - "referencedDeclaration": 810, - "src": "6545:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6545:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6526:47:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 743, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 738, - "src": "6588:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6600:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6588:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 751, - "nodeType": "IfStatement", - "src": "6584:83:2", - "trueBody": { - "id": 750, - "nodeType": "Block", - "src": "6603:64:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c206964", - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6624:31:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_be0e8e67d15e920d3846a46401854a27a676d8965bbdde05e68fc2cc5672c892", - "typeString": "literal_string \"Governor: unknown proposal id\"" - }, - "value": "Governor: unknown proposal id" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_be0e8e67d15e920d3846a46401854a27a676d8965bbdde05e68fc2cc5672c892", - "typeString": "literal_string \"Governor: unknown proposal id\"" - } - ], - "id": 746, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "6617:6:2", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6617:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 749, - "nodeType": "ExpressionStatement", - "src": "6617:39:2" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 752, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 738, - "src": "6681:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 753, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6693:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6699:6:2", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "6693:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6681:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 760, - "nodeType": "IfStatement", - "src": "6677:83:2", - "trueBody": { - "id": 759, - "nodeType": "Block", - "src": "6707:53:2", - "statements": [ - { - "expression": { - "expression": { - "id": 756, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "6728:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6742:7:2", - "memberName": "Pending", - "nodeType": "MemberAccess", - "referencedDeclaration": 3506, - "src": "6728:21:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 715, - "id": 758, - "nodeType": "Return", - "src": "6721:28:2" - } - ] - } - }, - { - "assignments": [ - 762 - ], - "declarations": [ - { - "constant": false, - "id": 762, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "6778:8:2", - "nodeType": "VariableDeclaration", - "scope": 792, - "src": "6770:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6770:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 766, - "initialValue": { - "arguments": [ - { - "id": 764, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "6806:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 763, - "name": "proposalDeadline", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 827 - ], - "referencedDeclaration": 827, - "src": "6789:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6789:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6770:47:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 767, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "6832:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 768, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6844:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6850:6:2", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "6844:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6832:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 775, - "nodeType": "IfStatement", - "src": "6828:82:2", - "trueBody": { - "id": 774, - "nodeType": "Block", - "src": "6858:52:2", - "statements": [ - { - "expression": { - "expression": { - "id": 771, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "6879:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6893:6:2", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 3507, - "src": "6879:20:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 715, - "id": 773, - "nodeType": "Return", - "src": "6872:27:2" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 777, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "6939:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 776, - "name": "_quorumReached", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "6924:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6924:26:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "arguments": [ - { - "id": 780, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "6969:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 779, - "name": "_voteSucceeded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "6954:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6954:26:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6924:56:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 790, - "nodeType": "Block", - "src": "7043:54:2", - "statements": [ - { - "expression": { - "expression": { - "id": 787, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "7064:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7078:8:2", - "memberName": "Defeated", - "nodeType": "MemberAccess", - "referencedDeclaration": 3509, - "src": "7064:22:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 715, - "id": 789, - "nodeType": "Return", - "src": "7057:29:2" - } - ] - }, - "id": 791, - "nodeType": "IfStatement", - "src": "6920:177:2", - "trueBody": { - "id": 786, - "nodeType": "Block", - "src": "6982:55:2", - "statements": [ - { - "expression": { - "expression": { - "id": 783, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "7003:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7017:9:2", - "memberName": "Succeeded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3510, - "src": "7003:23:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 715, - "id": 785, - "nodeType": "Return", - "src": "6996:30:2" - } - ] - } - } - ] - }, - "documentation": { - "id": 707, - "nodeType": "StructuredDocumentation", - "src": "6138:46:2", - "text": " @dev See {IGovernor-state}." - }, - "functionSelector": "3e4f49e6", - "id": 793, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "state", - "nameLocation": "6198:5:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 711, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6244:8:2" - }, - "parameters": { - "id": 710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 709, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "6212:10:2", - "nodeType": "VariableDeclaration", - "scope": 793, - "src": "6204:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6204:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6203:20:2" - }, - "returnParameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 714, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 793, - "src": "6262:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "typeName": { - "id": 713, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 712, - "name": "ProposalState", - "nameLocations": [ - "6262:13:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3514, - "src": "6262:13:2" - }, - "referencedDeclaration": 3514, - "src": "6262:13:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "visibility": "internal" - } - ], - "src": "6261:15:2" - }, - "scope": 1775, - "src": "6189:914:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3629 - ], - "body": { - "id": 809, - "nodeType": "Block", - "src": "7264:70:2", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "expression": { - "baseExpression": { - "id": 802, - "name": "_proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "7281:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore storage ref)" - } - }, - "id": 804, - "indexExpression": { - "id": 803, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "7292:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7281:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage", - "typeString": "struct Governor.ProposalCore storage ref" - } - }, - "id": 805, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7304:9:2", - "memberName": "voteStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 517, - "src": "7281:32:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage", - "typeString": "struct Timers.BlockNumber storage ref" - } - }, - "id": 806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7314:11:2", - "memberName": "getDeadline", - "nodeType": "MemberAccess", - "referencedDeclaration": 4330, - "src": "7281:44:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_BlockNumber_$4318_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_BlockNumber_$4318_memory_ptr_$", - "typeString": "function (struct Timers.BlockNumber memory) pure returns (uint64)" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7281:46:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 801, - "id": 808, - "nodeType": "Return", - "src": "7274:53:2" - } - ] - }, - "documentation": { - "id": 794, - "nodeType": "StructuredDocumentation", - "src": "7109:57:2", - "text": " @dev See {IGovernor-proposalSnapshot}." - }, - "functionSelector": "2d63f693", - "id": 810, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalSnapshot", - "nameLocation": "7180:16:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 798, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7237:8:2" - }, - "parameters": { - "id": 797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 796, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "7205:10:2", - "nodeType": "VariableDeclaration", - "scope": 810, - "src": "7197:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7197:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7196:20:2" - }, - "returnParameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 800, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 810, - "src": "7255:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7255:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7254:9:2" - }, - "scope": 1775, - "src": "7171:163:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3637 - ], - "body": { - "id": 826, - "nodeType": "Block", - "src": "7495:68:2", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "expression": { - "baseExpression": { - "id": 819, - "name": "_proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "7512:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore storage ref)" - } - }, - "id": 821, - "indexExpression": { - "id": 820, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "7523:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7512:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage", - "typeString": "struct Governor.ProposalCore storage ref" - } - }, - "id": 822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7535:7:2", - "memberName": "voteEnd", - "nodeType": "MemberAccess", - "referencedDeclaration": 520, - "src": "7512:30:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage", - "typeString": "struct Timers.BlockNumber storage ref" - } - }, - "id": 823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7543:11:2", - "memberName": "getDeadline", - "nodeType": "MemberAccess", - "referencedDeclaration": 4330, - "src": "7512:42:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_BlockNumber_$4318_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_BlockNumber_$4318_memory_ptr_$", - "typeString": "function (struct Timers.BlockNumber memory) pure returns (uint64)" - } - }, - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7512:44:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 818, - "id": 825, - "nodeType": "Return", - "src": "7505:51:2" - } - ] - }, - "documentation": { - "id": 811, - "nodeType": "StructuredDocumentation", - "src": "7340:57:2", - "text": " @dev See {IGovernor-proposalDeadline}." - }, - "functionSelector": "c01f9e37", - "id": 827, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalDeadline", - "nameLocation": "7411:16:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 815, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7468:8:2" - }, - "parameters": { - "id": 814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 813, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "7436:10:2", - "nodeType": "VariableDeclaration", - "scope": 827, - "src": "7428:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7428:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7427:20:2" - }, - "returnParameters": { - "id": 818, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 817, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 827, - "src": "7486:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7486:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7485:9:2" - }, - "scope": 1775, - "src": "7402:161:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 835, - "nodeType": "Block", - "src": "7780:25:2", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7797:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 832, - "id": 834, - "nodeType": "Return", - "src": "7790:8:2" - } - ] - }, - "documentation": { - "id": 828, - "nodeType": "StructuredDocumentation", - "src": "7569:139:2", - "text": " @dev Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_." - }, - "functionSelector": "b58131b0", - "id": 836, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalThreshold", - "nameLocation": "7722:17:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 829, - "nodeType": "ParameterList", - "parameters": [], - "src": "7739:2:2" - }, - "returnParameters": { - "id": 832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 831, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "7771:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7771:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7770:9:2" - }, - "scope": 1775, - "src": "7713:92:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 837, - "nodeType": "StructuredDocumentation", - "src": "7811:80:2", - "text": " @dev Amount of votes already cast passes the threshold limit." - }, - "id": 844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_quorumReached", - "nameLocation": "7905:14:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 839, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "7928:10:2", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "7920:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7920:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7919:20:2" - }, - "returnParameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 842, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 844, - "src": "7971:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 841, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7971:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7970:6:2" - }, - "scope": 1775, - "src": "7896:81:2", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "documentation": { - "id": 845, - "nodeType": "StructuredDocumentation", - "src": "7983:58:2", - "text": " @dev Is the proposal successful or not." - }, - "id": 852, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_voteSucceeded", - "nameLocation": "8055:14:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 847, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "8078:10:2", - "nodeType": "VariableDeclaration", - "scope": 852, - "src": "8070:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8070:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8069:20:2" - }, - "returnParameters": { - "id": 851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 850, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 852, - "src": "8121:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 849, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8121:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "8120:6:2" - }, - "scope": 1775, - "src": "8046:81:2", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "documentation": { - "id": 853, - "nodeType": "StructuredDocumentation", - "src": "8133:124:2", - "text": " @dev Get the voting weight of `account` at a specific `blockNumber`, for a vote as described by `params`." - }, - "id": 864, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_getVotes", - "nameLocation": "8271:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 855, - "mutability": "mutable", - "name": "account", - "nameLocation": "8298:7:2", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "8290:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8290:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 857, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "8323:11:2", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "8315:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8315:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 859, - "mutability": "mutable", - "name": "params", - "nameLocation": "8357:6:2", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "8344:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 858, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8344:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8280:89:2" - }, - "returnParameters": { - "id": 863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 862, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 864, - "src": "8401:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8401:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8400:9:2" - }, - "scope": 1775, - "src": "8262:148:2", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "documentation": { - "id": 865, - "nodeType": "StructuredDocumentation", - "src": "8416:239:2", - "text": " @dev Register a vote for `proposalId` by `account` with a given `support`, voting `weight` and voting `params`.\n Note: Support is generic and can represent various things depending on the voting system used." - }, - "id": 878, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "_countVote", - "nameLocation": "8669:10:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 876, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 867, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "8697:10:2", - "nodeType": "VariableDeclaration", - "scope": 878, - "src": "8689:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 866, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8689:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 869, - "mutability": "mutable", - "name": "account", - "nameLocation": "8725:7:2", - "nodeType": "VariableDeclaration", - "scope": 878, - "src": "8717:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8717:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 871, - "mutability": "mutable", - "name": "support", - "nameLocation": "8748:7:2", - "nodeType": "VariableDeclaration", - "scope": 878, - "src": "8742:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 870, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "8742:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 873, - "mutability": "mutable", - "name": "weight", - "nameLocation": "8773:6:2", - "nodeType": "VariableDeclaration", - "scope": 878, - "src": "8765:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 872, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8765:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 875, - "mutability": "mutable", - "name": "params", - "nameLocation": "8802:6:2", - "nodeType": "VariableDeclaration", - "scope": 878, - "src": "8789:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 874, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8789:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8679:135:2" - }, - "returnParameters": { - "id": 877, - "nodeType": "ParameterList", - "parameters": [], - "src": "8831:0:2" - }, - "scope": 1775, - "src": "8660:172:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 886, - "nodeType": "Block", - "src": "9205:26:2", - "statements": [ - { - "expression": { - "hexValue": "", - "id": 884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9222:2:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "functionReturnParameters": 883, - "id": 885, - "nodeType": "Return", - "src": "9215:9:2" - } - ] - }, - "documentation": { - "id": 879, - "nodeType": "StructuredDocumentation", - "src": "8838:291:2", - "text": " @dev Default additional encoded parameters used by castVote methods that don't include them\n Note: Should be overridden by specific implementations to use an appropriate value, the\n meaning of the additional params, in the context of that implementation" - }, - "id": 887, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_defaultParams", - "nameLocation": "9143:14:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 880, - "nodeType": "ParameterList", - "parameters": [], - "src": "9157:2:2" - }, - "returnParameters": { - "id": 883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 882, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "9191:12:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 881, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9191:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "9190:14:2" - }, - "scope": 1775, - "src": "9134:97:2", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 3706 - ], - "body": { - "id": 1032, - "nodeType": "Block", - "src": "9491:1207:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 907, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "9531:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9531:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 909, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "9545:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9551:6:2", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "9545:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9560:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9545:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 906, - "name": "getVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1360 - ], - "referencedDeclaration": 1360, - "src": "9522:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9522:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 914, - "name": "proposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 836, - "src": "9566:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9566:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9522:63:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a2070726f706f73657220766f7465732062656c6f772070726f706f73616c207468726573686f6c64", - "id": 917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9599:51:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df78ee0077e11770202b643d4ac130b9964a5ac311c9b8d8ed6242eb4e2dcf86", - "typeString": "literal_string \"Governor: proposer votes below proposal threshold\"" - }, - "value": "Governor: proposer votes below proposal threshold" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_df78ee0077e11770202b643d4ac130b9964a5ac311c9b8d8ed6242eb4e2dcf86", - "typeString": "literal_string \"Governor: proposer votes below proposal threshold\"" - } - ], - "id": 905, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9501:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9501:159:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 919, - "nodeType": "ExpressionStatement", - "src": "9501:159:2" - }, - { - "assignments": [ - 921 - ], - "declarations": [ - { - "constant": false, - "id": 921, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "9679:10:2", - "nodeType": "VariableDeclaration", - "scope": 1032, - "src": "9671:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9671:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 933, - "initialValue": { - "arguments": [ - { - "id": 923, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "9705:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 924, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "9714:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 925, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9722:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 929, - "name": "description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "9749:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9743:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 927, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9743:5:2", - "typeDescriptions": {} - } - }, - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9743:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 926, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "9733:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9733:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 922, - "name": "hashProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 706 - ], - "referencedDeclaration": 706, - "src": "9692:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)" - } - }, - "id": 932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9692:71:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9671:92:2" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 935, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "9782:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9790:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9782:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 937, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "9800:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9807:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9800:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9782:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e677468", - "id": 940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9815:35:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d", - "typeString": "literal_string \"Governor: invalid proposal length\"" - }, - "value": "Governor: invalid proposal length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d", - "typeString": "literal_string \"Governor: invalid proposal length\"" - } - ], - "id": 934, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9774:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9774:77:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 942, - "nodeType": "ExpressionStatement", - "src": "9774:77:2" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 944, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "9869:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9877:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9869:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 946, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "9887:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9897:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9887:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9869:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e677468", - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9905:35:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d", - "typeString": "literal_string \"Governor: invalid proposal length\"" - }, - "value": "Governor: invalid proposal length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_35c793b1b5a6be245307722bba06fa552ac609ebfd70358ab0b3220eed40db4d", - "typeString": "literal_string \"Governor: invalid proposal length\"" - } - ], - "id": 943, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9861:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9861:80:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 951, - "nodeType": "ExpressionStatement", - "src": "9861:80:2" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 953, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "9959:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9967:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9959:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 955, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9976:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9959:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a20656d7074792070726f706f73616c", - "id": 957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9979:26:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8400b334e0df18026c76df742cddc258619f9923d5f5b8ba67cd6eec1d1f3513", - "typeString": "literal_string \"Governor: empty proposal\"" - }, - "value": "Governor: empty proposal" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8400b334e0df18026c76df742cddc258619f9923d5f5b8ba67cd6eec1d1f3513", - "typeString": "literal_string \"Governor: empty proposal\"" - } - ], - "id": 952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9951:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9951:55:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 959, - "nodeType": "ExpressionStatement", - "src": "9951:55:2" - }, - { - "assignments": [ - 962 - ], - "declarations": [ - { - "constant": false, - "id": 962, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "10038:8:2", - "nodeType": "VariableDeclaration", - "scope": 1032, - "src": "10017:29:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore" - }, - "typeName": { - "id": 961, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 960, - "name": "ProposalCore", - "nameLocations": [ - "10017:12:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 525, - "src": "10017:12:2" - }, - "referencedDeclaration": 525, - "src": "10017:12:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore" - } - }, - "visibility": "internal" - } - ], - "id": 966, - "initialValue": { - "baseExpression": { - "id": 963, - "name": "_proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "10049:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore storage ref)" - } - }, - "id": 965, - "indexExpression": { - "id": 964, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "10060:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10049:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage", - "typeString": "struct Governor.ProposalCore storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10017:54:2" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "expression": { - "id": 968, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "10089:8:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore storage pointer" - } - }, - "id": 969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10098:9:2", - "memberName": "voteStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 517, - "src": "10089:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage", - "typeString": "struct Timers.BlockNumber storage ref" - } - }, - "id": 970, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10108:7:2", - "memberName": "isUnset", - "nodeType": "MemberAccess", - "referencedDeclaration": 4372, - "src": "10089:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_BlockNumber_$4318_memory_ptr_$returns$_t_bool_$bound_to$_t_struct$_BlockNumber_$4318_memory_ptr_$", - "typeString": "function (struct Timers.BlockNumber memory) pure returns (bool)" - } - }, - "id": 971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10089:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a2070726f706f73616c20616c726561647920657869737473", - "id": 972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10119:35:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c1bb0f67bc14091429c4b8b5d74e1f929b2838d72b5fb3c5a2cbef13b2faab40", - "typeString": "literal_string \"Governor: proposal already exists\"" - }, - "value": "Governor: proposal already exists" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c1bb0f67bc14091429c4b8b5d74e1f929b2838d72b5fb3c5a2cbef13b2faab40", - "typeString": "literal_string \"Governor: proposal already exists\"" - } - ], - "id": 967, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10081:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10081:74:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 974, - "nodeType": "ExpressionStatement", - "src": "10081:74:2" - }, - { - "assignments": [ - 976 - ], - "declarations": [ - { - "constant": false, - "id": 976, - "mutability": "mutable", - "name": "snapshot", - "nameLocation": "10173:8:2", - "nodeType": "VariableDeclaration", - "scope": 1032, - "src": "10166:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 975, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "10166:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "id": 986, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "expression": { - "id": 977, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10184:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10190:6:2", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "10184:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10197:8:2", - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 5563, - "src": "10184:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10184:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 981, - "name": "votingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "10210:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10210:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10224:8:2", - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 5563, - "src": "10210:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10210:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10184:50:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10166:68:2" - }, - { - "assignments": [ - 988 - ], - "declarations": [ - { - "constant": false, - "id": 988, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "10251:8:2", - "nodeType": "VariableDeclaration", - "scope": 1032, - "src": "10244:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 987, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "10244:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "id": 995, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "id": 994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 989, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 976, - "src": "10262:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 990, - "name": "votingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3649, - "src": "10273:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10273:14:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10288:8:2", - "memberName": "toUint64", - "nodeType": "MemberAccess", - "referencedDeclaration": 5563, - "src": "10273:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint64_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint64)" - } - }, - "id": 993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10273:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10262:36:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10244:54:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1001, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 976, - "src": "10340:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "expression": { - "id": 996, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "10309:8:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore storage pointer" - } - }, - "id": 999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10318:9:2", - "memberName": "voteStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 517, - "src": "10309:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage", - "typeString": "struct Timers.BlockNumber storage ref" - } - }, - "id": 1000, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10328:11:2", - "memberName": "setDeadline", - "nodeType": "MemberAccess", - "referencedDeclaration": 4345, - "src": "10309:30:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BlockNumber_$4318_storage_ptr_$_t_uint64_$returns$__$bound_to$_t_struct$_BlockNumber_$4318_storage_ptr_$", - "typeString": "function (struct Timers.BlockNumber storage pointer,uint64)" - } - }, - "id": 1002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10309:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1003, - "nodeType": "ExpressionStatement", - "src": "10309:40:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1009, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "10388:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "expression": { - "id": 1004, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "10359:8:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore storage pointer" - } - }, - "id": 1007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10368:7:2", - "memberName": "voteEnd", - "nodeType": "MemberAccess", - "referencedDeclaration": 520, - "src": "10359:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage", - "typeString": "struct Timers.BlockNumber storage ref" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10376:11:2", - "memberName": "setDeadline", - "nodeType": "MemberAccess", - "referencedDeclaration": 4345, - "src": "10359:28:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BlockNumber_$4318_storage_ptr_$_t_uint64_$returns$__$bound_to$_t_struct$_BlockNumber_$4318_storage_ptr_$", - "typeString": "function (struct Timers.BlockNumber storage pointer,uint64)" - } - }, - "id": 1010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10359:38:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1011, - "nodeType": "ExpressionStatement", - "src": "10359:38:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1013, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "10442:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1014, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "10466:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10466:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1016, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "10492:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 1017, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "10513:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "arguments": [ - { - "expression": { - "id": 1021, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "10546:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10554:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10546:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "10533:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory[] memory)" - }, - "typeName": { - "baseType": { - "id": 1018, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10537:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 1019, - "nodeType": "ArrayTypeName", - "src": "10537:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - } - }, - "id": 1023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10533:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - { - "id": 1024, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "10575:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 1025, - "name": "snapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 976, - "src": "10598:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "id": 1026, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 988, - "src": "10620:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "id": 1027, - "name": "description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "10642:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1012, - "name": "ProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3539, - "src": "10413:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,address[] memory,uint256[] memory,string memory[] memory,bytes memory[] memory,uint256,uint256,string memory)" - } - }, - "id": 1028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10413:250:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1029, - "nodeType": "EmitStatement", - "src": "10408:255:2" - }, - { - "expression": { - "id": 1030, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "10681:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 904, - "id": 1031, - "nodeType": "Return", - "src": "10674:17:2" - } - ] - }, - "documentation": { - "id": 888, - "nodeType": "StructuredDocumentation", - "src": "9237:48:2", - "text": " @dev See {IGovernor-propose}." - }, - "functionSelector": "7d5e81e2", - "id": 1033, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "propose", - "nameLocation": "9299:7:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 901, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9464:8:2" - }, - "parameters": { - "id": 900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 891, - "mutability": "mutable", - "name": "targets", - "nameLocation": "9333:7:2", - "nodeType": "VariableDeclaration", - "scope": 1033, - "src": "9316:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9316:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 890, - "nodeType": "ArrayTypeName", - "src": "9316:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 894, - "mutability": "mutable", - "name": "values", - "nameLocation": "9367:6:2", - "nodeType": "VariableDeclaration", - "scope": 1033, - "src": "9350:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9350:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 893, - "nodeType": "ArrayTypeName", - "src": "9350:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 897, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "9398:9:2", - "nodeType": "VariableDeclaration", - "scope": 1033, - "src": "9383:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 895, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9383:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 896, - "nodeType": "ArrayTypeName", - "src": "9383:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 899, - "mutability": "mutable", - "name": "description", - "nameLocation": "9431:11:2", - "nodeType": "VariableDeclaration", - "scope": 1033, - "src": "9417:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 898, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9417:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "9306:142:2" - }, - "returnParameters": { - "id": 904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 903, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1033, - "src": "9482:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9482:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9481:9:2" - }, - "scope": 1775, - "src": "9290:1408:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3723 - ], - "body": { - "id": 1117, - "nodeType": "Block", - "src": "10964:660:2", - "statements": [ - { - "assignments": [ - 1052 - ], - "declarations": [ - { - "constant": false, - "id": 1052, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "10982:10:2", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "10974:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1051, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10974:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1059, - "initialValue": { - "arguments": [ - { - "id": 1054, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "11008:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 1055, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "11017:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1056, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "11025:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 1057, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "11036:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1053, - "name": "hashProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 706 - ], - "referencedDeclaration": 706, - "src": "10995:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)" - } - }, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10995:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10974:78:2" - }, - { - "assignments": [ - 1062 - ], - "declarations": [ - { - "constant": false, - "id": 1062, - "mutability": "mutable", - "name": "status", - "nameLocation": "11077:6:2", - "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "11063:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "typeName": { - "id": 1061, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1060, - "name": "ProposalState", - "nameLocations": [ - "11063:13:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3514, - "src": "11063:13:2" - }, - "referencedDeclaration": 3514, - "src": "11063:13:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "visibility": "internal" - } - ], - "id": 1066, - "initialValue": { - "arguments": [ - { - "id": 1064, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "11092:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1063, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 793 - ], - "referencedDeclaration": 793, - "src": "11086:5:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$3514_$", - "typeString": "function (uint256) view returns (enum IGovernor.ProposalState)" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11086:17:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11063:40:2" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1068, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "11134:6:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 1069, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "11144:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11158:9:2", - "memberName": "Succeeded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3510, - "src": "11144:23:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "11134:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1072, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "11171:6:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 1073, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "11181:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11195:6:2", - "memberName": "Queued", - "nodeType": "MemberAccess", - "referencedDeclaration": 3511, - "src": "11181:20:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "11171:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11134:67:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756c", - "id": 1077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11215:35:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9", - "typeString": "literal_string \"Governor: proposal not successful\"" - }, - "value": "Governor: proposal not successful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9", - "typeString": "literal_string \"Governor: proposal not successful\"" - } - ], - "id": 1067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11113:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11113:147:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1079, - "nodeType": "ExpressionStatement", - "src": "11113:147:2" - }, - { - "expression": { - "id": 1085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1080, - "name": "_proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "11270:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore storage ref)" - } - }, - "id": 1082, - "indexExpression": { - "id": 1081, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "11281:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11270:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage", - "typeString": "struct Governor.ProposalCore storage ref" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "11293:8:2", - "memberName": "executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 522, - "src": "11270:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 1084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11304:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "11270:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1086, - "nodeType": "ExpressionStatement", - "src": "11270:38:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1088, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "11341:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1087, - "name": "ProposalExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3549, - "src": "11324:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11324:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1090, - "nodeType": "EmitStatement", - "src": "11319:33:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1092, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "11378:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1093, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "11390:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 1094, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "11399:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1095, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "11407:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 1096, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "11418:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1091, - "name": "_beforeExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1238, - "src": "11363:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)" - } - }, - "id": 1097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11363:71:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1098, - "nodeType": "ExpressionStatement", - "src": "11363:71:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1100, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "11453:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1101, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "11465:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 1102, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "11474:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1103, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "11482:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 1104, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "11493:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1099, - "name": "_execute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1178, - "src": "11444:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11444:65:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "11444:65:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1108, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "11533:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1109, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "11545:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 1110, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "11554:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1111, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "11562:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 1112, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "11573:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1107, - "name": "_afterExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "11519:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$", - "typeString": "function (uint256,address[] memory,uint256[] memory,bytes memory[] memory,bytes32)" - } - }, - "id": 1113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11519:70:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1114, - "nodeType": "ExpressionStatement", - "src": "11519:70:2" - }, - { - "expression": { - "id": 1115, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "11607:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1050, - "id": 1116, - "nodeType": "Return", - "src": "11600:17:2" - } - ] - }, - "documentation": { - "id": 1034, - "nodeType": "StructuredDocumentation", - "src": "10704:48:2", - "text": " @dev See {IGovernor-execute}." - }, - "functionSelector": "2656227d", - "id": 1118, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "execute", - "nameLocation": "10766:7:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1047, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10937:8:2" - }, - "parameters": { - "id": 1046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1037, - "mutability": "mutable", - "name": "targets", - "nameLocation": "10800:7:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "10783:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1035, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10783:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1036, - "nodeType": "ArrayTypeName", - "src": "10783:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1040, - "mutability": "mutable", - "name": "values", - "nameLocation": "10834:6:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "10817:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10817:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1039, - "nodeType": "ArrayTypeName", - "src": "10817:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1043, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "10865:9:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "10850:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 1041, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10850:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 1042, - "nodeType": "ArrayTypeName", - "src": "10850:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1045, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "10892:15:2", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "10884:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1044, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10884:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "10773:140:2" - }, - "returnParameters": { - "id": 1050, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1049, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "10955:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1048, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10955:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10954:9:2" - }, - "scope": 1775, - "src": "10757:867:2", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1177, - "nodeType": "Block", - "src": "11962:328:2", - "statements": [ - { - "assignments": [ - 1136 - ], - "declarations": [ - { - "constant": false, - "id": 1136, - "mutability": "mutable", - "name": "errorMessage", - "nameLocation": "11986:12:2", - "nodeType": "VariableDeclaration", - "scope": 1177, - "src": "11972:26:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1135, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11972:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1138, - "initialValue": { - "hexValue": "476f7665726e6f723a2063616c6c20726576657274656420776974686f7574206d657373616765", - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12001:41:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_60bfcc3776c91812db2df5ee8e14efc111acb8df47a38be82f94cf8f4bc73336", - "typeString": "literal_string \"Governor: call reverted without message\"" - }, - "value": "Governor: call reverted without message" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11972:70:2" - }, - { - "body": { - "id": 1175, - "nodeType": "Block", - "src": "12097:187:2", - "statements": [ - { - "assignments": [ - 1151, - 1153 - ], - "declarations": [ - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "success", - "nameLocation": "12117:7:2", - "nodeType": "VariableDeclaration", - "scope": 1175, - "src": "12112:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1150, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12112:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "12139:10:2", - "nodeType": "VariableDeclaration", - "scope": 1175, - "src": "12126:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1152, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12126:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1166, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 1162, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "12187:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 1164, - "indexExpression": { - "id": 1163, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12197:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12187:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "baseExpression": { - "id": 1154, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1124, - "src": "12153:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1156, - "indexExpression": { - "id": 1155, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12161:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12153:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12164:4:2", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "12153:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "baseExpression": { - "id": 1158, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1127, - "src": "12176:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1160, - "indexExpression": { - "id": 1159, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12183:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12176:9:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "12153:33:2", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12153:47:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12111:89:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1170, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1151, - "src": "12239:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1171, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "12248:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1172, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "12260:12:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 1167, - "name": "Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4185, - "src": "12214:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Address_$4185_$", - "typeString": "type(library Address)" - } - }, - "id": 1169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12222:16:2", - "memberName": "verifyCallResult", - "nodeType": "MemberAccess", - "referencedDeclaration": 4164, - "src": "12214:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12214:59:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1174, - "nodeType": "ExpressionStatement", - "src": "12214:59:2" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12072:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 1144, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1124, - "src": "12076:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12084:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12076:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12072:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1176, - "initializationExpression": { - "assignments": [ - 1140 - ], - "declarations": [ - { - "constant": false, - "id": 1140, - "mutability": "mutable", - "name": "i", - "nameLocation": "12065:1:2", - "nodeType": "VariableDeclaration", - "scope": 1176, - "src": "12057:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12057:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1142, - "initialValue": { - "hexValue": "30", - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12069:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12057:13:2" - }, - "loopExpression": { - "expression": { - "id": 1148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "12092:3:2", - "subExpression": { - "id": 1147, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "12094:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1149, - "nodeType": "ExpressionStatement", - "src": "12092:3:2" - }, - "nodeType": "ForStatement", - "src": "12052:232:2" - } - ] - }, - "documentation": { - "id": 1119, - "nodeType": "StructuredDocumentation", - "src": "11630:114:2", - "text": " @dev Internal execution mechanism. Can be overridden to implement different execution mechanism" - }, - "id": 1178, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_execute", - "nameLocation": "11758:8:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1121, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1178, - "src": "11776:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11776:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1124, - "mutability": "mutable", - "name": "targets", - "nameLocation": "11827:7:2", - "nodeType": "VariableDeclaration", - "scope": 1178, - "src": "11810:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11810:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1123, - "nodeType": "ArrayTypeName", - "src": "11810:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1127, - "mutability": "mutable", - "name": "values", - "nameLocation": "11861:6:2", - "nodeType": "VariableDeclaration", - "scope": 1178, - "src": "11844:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1125, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11844:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1126, - "nodeType": "ArrayTypeName", - "src": "11844:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1130, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "11892:9:2", - "nodeType": "VariableDeclaration", - "scope": 1178, - "src": "11877:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 1128, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11877:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 1129, - "nodeType": "ArrayTypeName", - "src": "11877:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1132, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1178, - "src": "11911:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1131, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11911:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "11766:178:2" - }, - "returnParameters": { - "id": 1134, - "nodeType": "ParameterList", - "parameters": [], - "src": "11962:0:2" - }, - "scope": 1775, - "src": "11749:541:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1237, - "nodeType": "Block", - "src": "12585:274:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1195, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "12599:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12599:11:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 1199, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12622:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - ], - "id": 1198, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12614:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1197, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12614:7:2", - "typeDescriptions": {} - } - }, - "id": 1200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12614:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12599:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1236, - "nodeType": "IfStatement", - "src": "12595:258:2", - "trueBody": { - "id": 1235, - "nodeType": "Block", - "src": "12629:224:2", - "statements": [ - { - "body": { - "id": 1233, - "nodeType": "Block", - "src": "12688:155:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 1213, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "12710:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1215, - "indexExpression": { - "id": 1214, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "12718:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12710:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 1218, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12732:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - ], - "id": 1217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12724:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12724:7:2", - "typeDescriptions": {} - } - }, - "id": 1219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12724:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12710:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1232, - "nodeType": "IfStatement", - "src": "12706:123:2", - "trueBody": { - "id": 1231, - "nodeType": "Block", - "src": "12739:90:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "id": 1225, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1190, - "src": "12796:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 1227, - "indexExpression": { - "id": 1226, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "12806:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12796:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1224, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "12786:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12786:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1221, - "name": "_governanceCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "12761:15:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Deque_$6520_storage", - "typeString": "struct DoubleEndedQueue.Bytes32Deque storage ref" - } - }, - "id": 1223, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12777:8:2", - "memberName": "pushBack", - "nodeType": "MemberAccess", - "referencedDeclaration": 6552, - "src": "12761:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$6520_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_struct$_Bytes32Deque_$6520_storage_ptr_$", - "typeString": "function (struct DoubleEndedQueue.Bytes32Deque storage pointer,bytes32)" - } - }, - "id": 1229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12761:49:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1230, - "nodeType": "ExpressionStatement", - "src": "12761:49:2" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1206, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "12663:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 1207, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1184, - "src": "12667:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12675:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12667:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12663:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1234, - "initializationExpression": { - "assignments": [ - 1203 - ], - "declarations": [ - { - "constant": false, - "id": 1203, - "mutability": "mutable", - "name": "i", - "nameLocation": "12656:1:2", - "nodeType": "VariableDeclaration", - "scope": 1234, - "src": "12648:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12648:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1205, - "initialValue": { - "hexValue": "30", - "id": 1204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12660:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12648:13:2" - }, - "loopExpression": { - "expression": { - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "12683:3:2", - "subExpression": { - "id": 1210, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1203, - "src": "12685:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1212, - "nodeType": "ExpressionStatement", - "src": "12683:3:2" - }, - "nodeType": "ForStatement", - "src": "12643:200:2" - } - ] - } - } - ] - }, - "documentation": { - "id": 1179, - "nodeType": "StructuredDocumentation", - "src": "12296:59:2", - "text": " @dev Hook before execution is triggered." - }, - "id": 1238, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeExecute", - "nameLocation": "12369:14:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1181, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1238, - "src": "12393:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12393:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1184, - "mutability": "mutable", - "name": "targets", - "nameLocation": "12444:7:2", - "nodeType": "VariableDeclaration", - "scope": 1238, - "src": "12427:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1182, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12427:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1183, - "nodeType": "ArrayTypeName", - "src": "12427:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1187, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1238, - "src": "12461:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12461:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1186, - "nodeType": "ArrayTypeName", - "src": "12461:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1190, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "12515:9:2", - "nodeType": "VariableDeclaration", - "scope": 1238, - "src": "12500:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 1188, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12500:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 1189, - "nodeType": "ArrayTypeName", - "src": "12500:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1192, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1238, - "src": "12534:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1191, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12534:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "12383:184:2" - }, - "returnParameters": { - "id": 1194, - "nodeType": "ParameterList", - "parameters": [], - "src": "12585:0:2" - }, - "scope": 1775, - "src": "12360:499:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1275, - "nodeType": "Block", - "src": "13164:160:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1255, - "name": "_executor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1708, - "src": "13178:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13178:11:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 1259, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13201:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - ], - "id": 1258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13193:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13193:7:2", - "typeDescriptions": {} - } - }, - "id": 1260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13193:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13178:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1274, - "nodeType": "IfStatement", - "src": "13174:144:2", - "trueBody": { - "id": 1273, - "nodeType": "Block", - "src": "13208:110:2", - "statements": [ - { - "condition": { - "id": 1265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13226:24:2", - "subExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1262, - "name": "_governanceCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "13227:15:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Deque_$6520_storage", - "typeString": "struct DoubleEndedQueue.Bytes32Deque storage ref" - } - }, - "id": 1263, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13243:5:2", - "memberName": "empty", - "nodeType": "MemberAccess", - "referencedDeclaration": 6841, - "src": "13227:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes32Deque_$6520_storage_ptr_$returns$_t_bool_$bound_to$_t_struct$_Bytes32Deque_$6520_storage_ptr_$", - "typeString": "function (struct DoubleEndedQueue.Bytes32Deque storage pointer) view returns (bool)" - } - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13227:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1272, - "nodeType": "IfStatement", - "src": "13222:86:2", - "trueBody": { - "id": 1271, - "nodeType": "Block", - "src": "13252:56:2", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 1266, - "name": "_governanceCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "13270:15:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Deque_$6520_storage", - "typeString": "struct DoubleEndedQueue.Bytes32Deque storage ref" - } - }, - "id": 1268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13286:5:2", - "memberName": "clear", - "nodeType": "MemberAccess", - "referencedDeclaration": 6799, - "src": "13270:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Bytes32Deque_$6520_storage_ptr_$returns$__$bound_to$_t_struct$_Bytes32Deque_$6520_storage_ptr_$", - "typeString": "function (struct DoubleEndedQueue.Bytes32Deque storage pointer)" - } - }, - "id": 1269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13270:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1270, - "nodeType": "ExpressionStatement", - "src": "13270:23:2" - } - ] - } - } - ] - } - } - ] - }, - "documentation": { - "id": 1239, - "nodeType": "StructuredDocumentation", - "src": "12865:58:2", - "text": " @dev Hook after execution is triggered." - }, - "id": 1276, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterExecute", - "nameLocation": "12937:13:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1253, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1241, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "12960:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12960:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1244, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "12994:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1242, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12994:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1243, - "nodeType": "ArrayTypeName", - "src": "12994:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1247, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "13034:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13034:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1246, - "nodeType": "ArrayTypeName", - "src": "13034:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1250, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "13073:14:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 1248, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13073:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 1249, - "nodeType": "ArrayTypeName", - "src": "13073:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1252, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1276, - "src": "13113:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1251, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13113:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "12950:196:2" - }, - "returnParameters": { - "id": 1254, - "nodeType": "ParameterList", - "parameters": [], - "src": "13164:0:2" - }, - "scope": 1775, - "src": "12928:396:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1340, - "nodeType": "Block", - "src": "13783:455:2", - "statements": [ - { - "assignments": [ - 1294 - ], - "declarations": [ - { - "constant": false, - "id": 1294, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "13801:10:2", - "nodeType": "VariableDeclaration", - "scope": 1340, - "src": "13793:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13793:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1301, - "initialValue": { - "arguments": [ - { - "id": 1296, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "13827:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 1297, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1283, - "src": "13836:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 1298, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "13844:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 1299, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1288, - "src": "13855:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1295, - "name": "hashProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 706 - ], - "referencedDeclaration": 706, - "src": "13814:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)" - } - }, - "id": 1300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13814:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13793:78:2" - }, - { - "assignments": [ - 1304 - ], - "declarations": [ - { - "constant": false, - "id": 1304, - "mutability": "mutable", - "name": "status", - "nameLocation": "13895:6:2", - "nodeType": "VariableDeclaration", - "scope": 1340, - "src": "13881:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "typeName": { - "id": 1303, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1302, - "name": "ProposalState", - "nameLocations": [ - "13881:13:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3514, - "src": "13881:13:2" - }, - "referencedDeclaration": 3514, - "src": "13881:13:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "visibility": "internal" - } - ], - "id": 1308, - "initialValue": { - "arguments": [ - { - "id": 1306, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "13910:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1305, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 793 - ], - "referencedDeclaration": 793, - "src": "13904:5:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$3514_$", - "typeString": "function (uint256) view returns (enum IGovernor.ProposalState)" - } - }, - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13904:17:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13881:40:2" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 1313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1310, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "13953:6:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1311, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "13963:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13977:8:2", - "memberName": "Canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 3508, - "src": "13963:22:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "13953:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 1317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1314, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "13989:6:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1315, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "13999:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 1316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14013:7:2", - "memberName": "Expired", - "nodeType": "MemberAccess", - "referencedDeclaration": 3512, - "src": "13999:21:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "13989:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13953:67:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 1322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1319, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "14024:6:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1320, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "14034:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14048:8:2", - "memberName": "Executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 3513, - "src": "14034:22:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "14024:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "13953:103:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a2070726f706f73616c206e6f7420616374697665", - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14070:31:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9df62e32cc9e9c02131fa3d2189c515bf05634e5979aec1a0e5b3a9e44a36d0b", - "typeString": "literal_string \"Governor: proposal not active\"" - }, - "value": "Governor: proposal not active" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9df62e32cc9e9c02131fa3d2189c515bf05634e5979aec1a0e5b3a9e44a36d0b", - "typeString": "literal_string \"Governor: proposal not active\"" - } - ], - "id": 1309, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13932:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13932:179:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1326, - "nodeType": "ExpressionStatement", - "src": "13932:179:2" - }, - { - "expression": { - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 1327, - "name": "_proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "14121:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore storage ref)" - } - }, - "id": 1329, - "indexExpression": { - "id": 1328, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "14132:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14121:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage", - "typeString": "struct Governor.ProposalCore storage ref" - } - }, - "id": 1330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "14144:8:2", - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 524, - "src": "14121:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14155:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14121:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1333, - "nodeType": "ExpressionStatement", - "src": "14121:38:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1335, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "14192:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1334, - "name": "ProposalCanceled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3544, - "src": "14175:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14175:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1337, - "nodeType": "EmitStatement", - "src": "14170:33:2" - }, - { - "expression": { - "id": 1338, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1294, - "src": "14221:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1292, - "id": 1339, - "nodeType": "Return", - "src": "14214:17:2" - } - ] - }, - "documentation": { - "id": 1277, - "nodeType": "StructuredDocumentation", - "src": "13330:256:2", - "text": " @dev Internal cancel mechanism: locks up the proposal timer, preventing it from being re-submitted. Marks it as\n canceled to allow distinguishing it from executed proposals.\n Emits a {IGovernor-ProposalCanceled} event." - }, - "id": 1341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_cancel", - "nameLocation": "13600:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1280, - "mutability": "mutable", - "name": "targets", - "nameLocation": "13634:7:2", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13617:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13617:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1279, - "nodeType": "ArrayTypeName", - "src": "13617:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1283, - "mutability": "mutable", - "name": "values", - "nameLocation": "13668:6:2", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13651:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13651:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1282, - "nodeType": "ArrayTypeName", - "src": "13651:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1286, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "13699:9:2", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13684:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 1284, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13684:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 1285, - "nodeType": "ArrayTypeName", - "src": "13684:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1288, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "13726:15:2", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13718:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13718:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "13607:140:2" - }, - "returnParameters": { - "id": 1292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1291, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "13774:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13774:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13773:9:2" - }, - "scope": 1775, - "src": "13591:647:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 3667 - ], - "body": { - "id": 1359, - "nodeType": "Block", - "src": "14401:73:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1353, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "14428:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1354, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1346, - "src": "14437:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1355, - "name": "_defaultParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "14450:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () view returns (bytes memory)" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14450:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1352, - "name": "_getVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "14418:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,uint256,bytes memory) view returns (uint256)" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14418:49:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1351, - "id": 1358, - "nodeType": "Return", - "src": "14411:56:2" - } - ] - }, - "documentation": { - "id": 1342, - "nodeType": "StructuredDocumentation", - "src": "14244:49:2", - "text": " @dev See {IGovernor-getVotes}." - }, - "functionSelector": "eb9019d4", - "id": 1360, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotes", - "nameLocation": "14307:8:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1348, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "14374:8:2" - }, - "parameters": { - "id": 1347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1344, - "mutability": "mutable", - "name": "account", - "nameLocation": "14324:7:2", - "nodeType": "VariableDeclaration", - "scope": 1360, - "src": "14316:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14316:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1346, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "14341:11:2", - "nodeType": "VariableDeclaration", - "scope": 1360, - "src": "14333:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14333:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14315:38:2" - }, - "returnParameters": { - "id": 1351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1350, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1360, - "src": "14392:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14392:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14391:9:2" - }, - "scope": 1775, - "src": "14298:176:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3679 - ], - "body": { - "id": 1379, - "nodeType": "Block", - "src": "14708:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1374, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1363, - "src": "14735:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1375, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "14744:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1376, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "14757:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1373, - "name": "_getVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "14725:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,uint256,bytes memory) view returns (uint256)" - } - }, - "id": 1377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14725:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1372, - "id": 1378, - "nodeType": "Return", - "src": "14718:46:2" - } - ] - }, - "documentation": { - "id": 1361, - "nodeType": "StructuredDocumentation", - "src": "14480:59:2", - "text": " @dev See {IGovernor-getVotesWithParams}." - }, - "functionSelector": "9a802a6d", - "id": 1380, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesWithParams", - "nameLocation": "14553:18:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1369, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "14681:8:2" - }, - "parameters": { - "id": 1368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1363, - "mutability": "mutable", - "name": "account", - "nameLocation": "14589:7:2", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "14581:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1362, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14581:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1365, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "14614:11:2", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "14606:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14606:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1367, - "mutability": "mutable", - "name": "params", - "nameLocation": "14648:6:2", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "14635:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1366, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14635:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "14571:89:2" - }, - "returnParameters": { - "id": 1372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1371, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1380, - "src": "14699:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14699:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14698:9:2" - }, - "scope": 1775, - "src": "14544:227:2", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3733 - ], - "body": { - "id": 1403, - "nodeType": "Block", - "src": "14926:103:2", - "statements": [ - { - "assignments": [ - 1392 - ], - "declarations": [ - { - "constant": false, - "id": 1392, - "mutability": "mutable", - "name": "voter", - "nameLocation": "14944:5:2", - "nodeType": "VariableDeclaration", - "scope": 1403, - "src": "14936:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14936:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 1395, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1393, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "14952:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14952:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14936:28:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1397, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "14991:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1398, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1392, - "src": "15003:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1399, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "15010:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "", - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15019:2:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 1396, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1585, - 1664 - ], - "referencedDeclaration": 1585, - "src": "14981:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,address,uint8,string memory) returns (uint256)" - } - }, - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14981:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1390, - "id": 1402, - "nodeType": "Return", - "src": "14974:48:2" - } - ] - }, - "documentation": { - "id": 1381, - "nodeType": "StructuredDocumentation", - "src": "14777:49:2", - "text": " @dev See {IGovernor-castVote}." - }, - "functionSelector": "56781388", - "id": 1404, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "castVote", - "nameLocation": "14840:8:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1387, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "14899:8:2" - }, - "parameters": { - "id": 1386, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1383, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "14857:10:2", - "nodeType": "VariableDeclaration", - "scope": 1404, - "src": "14849:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14849:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1385, - "mutability": "mutable", - "name": "support", - "nameLocation": "14875:7:2", - "nodeType": "VariableDeclaration", - "scope": 1404, - "src": "14869:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1384, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "14869:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "14848:35:2" - }, - "returnParameters": { - "id": 1390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1389, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1404, - "src": "14917:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14917:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14916:9:2" - }, - "scope": 1775, - "src": "14831:198:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3745 - ], - "body": { - "id": 1429, - "nodeType": "Block", - "src": "15258:107:2", - "statements": [ - { - "assignments": [ - 1418 - ], - "declarations": [ - { - "constant": false, - "id": 1418, - "mutability": "mutable", - "name": "voter", - "nameLocation": "15276:5:2", - "nodeType": "VariableDeclaration", - "scope": 1429, - "src": "15268:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15268:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 1421, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1419, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "15284:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15284:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15268:28:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1423, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1407, - "src": "15323:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1424, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1418, - "src": "15335:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1425, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "15342:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1426, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1411, - "src": "15351:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1422, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1585, - 1664 - ], - "referencedDeclaration": 1585, - "src": "15313:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,address,uint8,string memory) returns (uint256)" - } - }, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15313:45:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1416, - "id": 1428, - "nodeType": "Return", - "src": "15306:52:2" - } - ] - }, - "documentation": { - "id": 1405, - "nodeType": "StructuredDocumentation", - "src": "15035:59:2", - "text": " @dev See {IGovernor-castVoteWithReason}." - }, - "functionSelector": "7b3c71d3", - "id": 1430, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "castVoteWithReason", - "nameLocation": "15108:18:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1413, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "15231:8:2" - }, - "parameters": { - "id": 1412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1407, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "15144:10:2", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "15136:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15136:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1409, - "mutability": "mutable", - "name": "support", - "nameLocation": "15170:7:2", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "15164:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1408, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15164:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1411, - "mutability": "mutable", - "name": "reason", - "nameLocation": "15203:6:2", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "15187:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1410, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15187:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "15126:89:2" - }, - "returnParameters": { - "id": 1416, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1415, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "15249:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15249:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15248:9:2" - }, - "scope": 1775, - "src": "15099:266:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3759 - ], - "body": { - "id": 1458, - "nodeType": "Block", - "src": "15641:115:2", - "statements": [ - { - "assignments": [ - 1446 - ], - "declarations": [ - { - "constant": false, - "id": 1446, - "mutability": "mutable", - "name": "voter", - "nameLocation": "15659:5:2", - "nodeType": "VariableDeclaration", - "scope": 1458, - "src": "15651:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15651:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 1449, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1447, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "15667:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15667:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15651:28:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1451, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1433, - "src": "15706:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1452, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1446, - "src": "15718:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1453, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1435, - "src": "15725:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1454, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1437, - "src": "15734:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1455, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1439, - "src": "15742:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1450, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1585, - 1664 - ], - "referencedDeclaration": 1664, - "src": "15696:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,address,uint8,string memory,bytes memory) returns (uint256)" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15696:53:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1444, - "id": 1457, - "nodeType": "Return", - "src": "15689:60:2" - } - ] - }, - "documentation": { - "id": 1431, - "nodeType": "StructuredDocumentation", - "src": "15371:68:2", - "text": " @dev See {IGovernor-castVoteWithReasonAndParams}." - }, - "functionSelector": "5f398a14", - "id": 1459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "castVoteWithReasonAndParams", - "nameLocation": "15453:27:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1441, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "15614:8:2" - }, - "parameters": { - "id": 1440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1433, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "15498:10:2", - "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "15490:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15490:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1435, - "mutability": "mutable", - "name": "support", - "nameLocation": "15524:7:2", - "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "15518:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1434, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15518:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1437, - "mutability": "mutable", - "name": "reason", - "nameLocation": "15557:6:2", - "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "15541:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1436, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15541:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1439, - "mutability": "mutable", - "name": "params", - "nameLocation": "15586:6:2", - "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "15573:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1438, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15573:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "15480:118:2" - }, - "returnParameters": { - "id": 1444, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1443, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "15632:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15632:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15631:9:2" - }, - "scope": 1775, - "src": "15444:312:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3775 - ], - "body": { - "id": 1502, - "nodeType": "Block", - "src": "15998:250:2", - "statements": [ - { - "assignments": [ - 1477 - ], - "declarations": [ - { - "constant": false, - "id": 1477, - "mutability": "mutable", - "name": "voter", - "nameLocation": "16016:5:2", - "nodeType": "VariableDeclaration", - "scope": 1502, - "src": "16008:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16008:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 1494, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 1484, - "name": "BALLOT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 509, - "src": "16089:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1485, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1462, - "src": "16106:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1486, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1464, - "src": "16118:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "expression": { - "id": 1482, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "16078:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "16082:6:2", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "16078:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16078:48:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1481, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "16068:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16068:59:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1480, - "name": "_hashTypedDataV4", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "16051:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 1489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16051:77:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1490, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1466, - "src": "16142:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1491, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1468, - "src": "16157:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1492, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1470, - "src": "16172:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1478, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4782, - "src": "16024:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ECDSA_$4782_$", - "typeString": "type(library ECDSA)" - } - }, - "id": 1479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16030:7:2", - "memberName": "recover", - "nodeType": "MemberAccess", - "referencedDeclaration": 4722, - "src": "16024:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16024:159:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16008:175:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1496, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1462, - "src": "16210:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1497, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1477, - "src": "16222:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1498, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1464, - "src": "16229:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "hexValue": "", - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16238:2:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 1495, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1585, - 1664 - ], - "referencedDeclaration": 1585, - "src": "16200:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,address,uint8,string memory) returns (uint256)" - } - }, - "id": 1500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16200:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1475, - "id": 1501, - "nodeType": "Return", - "src": "16193:48:2" - } - ] - }, - "documentation": { - "id": 1460, - "nodeType": "StructuredDocumentation", - "src": "15762:54:2", - "text": " @dev See {IGovernor-castVoteBySig}." - }, - "functionSelector": "3bccf4fd", - "id": 1503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "castVoteBySig", - "nameLocation": "15830:13:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1472, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "15971:8:2" - }, - "parameters": { - "id": 1471, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1462, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "15861:10:2", - "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "15853:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15853:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1464, - "mutability": "mutable", - "name": "support", - "nameLocation": "15887:7:2", - "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "15881:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1463, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15881:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1466, - "mutability": "mutable", - "name": "v", - "nameLocation": "15910:1:2", - "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "15904:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1465, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "15904:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1468, - "mutability": "mutable", - "name": "r", - "nameLocation": "15929:1:2", - "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "15921:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1467, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15921:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1470, - "mutability": "mutable", - "name": "s", - "nameLocation": "15948:1:2", - "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "15940:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1469, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15940:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "15843:112:2" - }, - "returnParameters": { - "id": 1475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1474, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1503, - "src": "15989:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15989:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15988:9:2" - }, - "scope": 1775, - "src": "15821:427:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3795 - ], - "body": { - "id": 1560, - "nodeType": "Block", - "src": "16589:527:2", - "statements": [ - { - "assignments": [ - 1525 - ], - "declarations": [ - { - "constant": false, - "id": 1525, - "mutability": "mutable", - "name": "voter", - "nameLocation": "16607:5:2", - "nodeType": "VariableDeclaration", - "scope": 1560, - "src": "16599:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1524, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16599:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 1551, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 1532, - "name": "EXTENDED_BALLOT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "16743:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1533, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "16793:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1534, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1508, - "src": "16829:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 1538, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1510, - "src": "16878:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "id": 1537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16872:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1536, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16872:5:2", - "typeDescriptions": {} - } - }, - "id": 1539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16872:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1535, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "16862:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16862:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 1542, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "16922:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1541, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "16912:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16912:17:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1530, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "16707:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "16711:6:2", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "16707:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16707:244:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1529, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "16676:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16676:293:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1528, - "name": "_hashTypedDataV4", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4935, - "src": "16642:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) view returns (bytes32)" - } - }, - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16642:341:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1547, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1514, - "src": "16997:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1548, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1516, - "src": "17012:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1549, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1518, - "src": "17027:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1526, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4782, - "src": "16615:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ECDSA_$4782_$", - "typeString": "type(library ECDSA)" - } - }, - "id": 1527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16621:7:2", - "memberName": "recover", - "nodeType": "MemberAccess", - "referencedDeclaration": 4722, - "src": "16615:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 1550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16615:423:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16599:439:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1553, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1506, - "src": "17066:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1554, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1525, - "src": "17078:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1555, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1508, - "src": "17085:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1556, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1510, - "src": "17094:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1557, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1512, - "src": "17102:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1552, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1585, - 1664 - ], - "referencedDeclaration": 1664, - "src": "17056:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,address,uint8,string memory,bytes memory) returns (uint256)" - } - }, - "id": 1558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17056:53:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1523, - "id": 1559, - "nodeType": "Return", - "src": "17049:60:2" - } - ] - }, - "documentation": { - "id": 1504, - "nodeType": "StructuredDocumentation", - "src": "16254:73:2", - "text": " @dev See {IGovernor-castVoteWithReasonAndParamsBySig}." - }, - "functionSelector": "03420181", - "id": 1561, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "castVoteWithReasonAndParamsBySig", - "nameLocation": "16341:32:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1520, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "16562:8:2" - }, - "parameters": { - "id": 1519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1506, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "16391:10:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16383:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16383:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1508, - "mutability": "mutable", - "name": "support", - "nameLocation": "16417:7:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16411:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1507, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16411:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1510, - "mutability": "mutable", - "name": "reason", - "nameLocation": "16450:6:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16434:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1509, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "16434:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1512, - "mutability": "mutable", - "name": "params", - "nameLocation": "16479:6:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16466:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1511, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16466:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1514, - "mutability": "mutable", - "name": "v", - "nameLocation": "16501:1:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16495:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1513, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16495:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1516, - "mutability": "mutable", - "name": "r", - "nameLocation": "16520:1:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16512:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1515, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16512:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1518, - "mutability": "mutable", - "name": "s", - "nameLocation": "16539:1:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16531:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1517, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16531:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16373:173:2" - }, - "returnParameters": { - "id": 1523, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1522, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "16580:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16580:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16579:9:2" - }, - "scope": 1775, - "src": "16332:784:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1584, - "nodeType": "Block", - "src": "17591:89:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1576, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1564, - "src": "17618:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1577, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1566, - "src": "17630:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1578, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1568, - "src": "17639:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1579, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1570, - "src": "17648:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1580, - "name": "_defaultParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "17656:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () view returns (bytes memory)" - } - }, - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17656:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1575, - "name": "_castVote", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1585, - 1664 - ], - "referencedDeclaration": 1664, - "src": "17608:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,address,uint8,string memory,bytes memory) returns (uint256)" - } - }, - "id": 1582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17608:65:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1574, - "id": 1583, - "nodeType": "Return", - "src": "17601:72:2" - } - ] - }, - "documentation": { - "id": 1562, - "nodeType": "StructuredDocumentation", - "src": "17122:298:2", - "text": " @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n voting weight using {IGovernor-getVotes} and call the {_countVote} internal function. Uses the _defaultParams().\n Emits a {IGovernor-VoteCast} event." - }, - "id": 1585, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_castVote", - "nameLocation": "17434:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1564, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "17461:10:2", - "nodeType": "VariableDeclaration", - "scope": 1585, - "src": "17453:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17453:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1566, - "mutability": "mutable", - "name": "account", - "nameLocation": "17489:7:2", - "nodeType": "VariableDeclaration", - "scope": 1585, - "src": "17481:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17481:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1568, - "mutability": "mutable", - "name": "support", - "nameLocation": "17512:7:2", - "nodeType": "VariableDeclaration", - "scope": 1585, - "src": "17506:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1567, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17506:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1570, - "mutability": "mutable", - "name": "reason", - "nameLocation": "17543:6:2", - "nodeType": "VariableDeclaration", - "scope": 1585, - "src": "17529:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1569, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "17529:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "17443:112:2" - }, - "returnParameters": { - "id": 1574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1573, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1585, - "src": "17582:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17582:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17581:9:2" - }, - "scope": 1775, - "src": "17425:255:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1663, - "nodeType": "Block", - "src": "18157:574:2", - "statements": [ - { - "assignments": [ - 1603 - ], - "declarations": [ - { - "constant": false, - "id": 1603, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "18188:8:2", - "nodeType": "VariableDeclaration", - "scope": 1663, - "src": "18167:29:2", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore" - }, - "typeName": { - "id": 1602, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1601, - "name": "ProposalCore", - "nameLocations": [ - "18167:12:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 525, - "src": "18167:12:2" - }, - "referencedDeclaration": 525, - "src": "18167:12:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore" - } - }, - "visibility": "internal" - } - ], - "id": 1607, - "initialValue": { - "baseExpression": { - "id": 1604, - "name": "_proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 532, - "src": "18199:10:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalCore_$525_storage_$", - "typeString": "mapping(uint256 => struct Governor.ProposalCore storage ref)" - } - }, - "id": 1606, - "indexExpression": { - "id": 1605, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "18210:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18199:22:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage", - "typeString": "struct Governor.ProposalCore storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18167:54:2" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1610, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "18245:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1609, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 793 - ], - "referencedDeclaration": 793, - "src": "18239:5:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$3514_$", - "typeString": "function (uint256) view returns (enum IGovernor.ProposalState)" - } - }, - "id": 1611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18239:17:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 1612, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "18260:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 1613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "18274:6:2", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 3507, - "src": "18260:20:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "18239:41:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a20766f7465206e6f742063757272656e746c7920616374697665", - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18282:37:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b1e239298a1362f9b5245bd4e9393de28380a12326aa31532e03fe3f1061d80", - "typeString": "literal_string \"Governor: vote not currently active\"" - }, - "value": "Governor: vote not currently active" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5b1e239298a1362f9b5245bd4e9393de28380a12326aa31532e03fe3f1061d80", - "typeString": "literal_string \"Governor: vote not currently active\"" - } - ], - "id": 1608, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18231:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18231:89:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1617, - "nodeType": "ExpressionStatement", - "src": "18231:89:2" - }, - { - "assignments": [ - 1619 - ], - "declarations": [ - { - "constant": false, - "id": 1619, - "mutability": "mutable", - "name": "weight", - "nameLocation": "18339:6:2", - "nodeType": "VariableDeclaration", - "scope": 1663, - "src": "18331:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18331:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1628, - "initialValue": { - "arguments": [ - { - "id": 1621, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "18358:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "expression": { - "id": 1622, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1603, - "src": "18367:8:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalCore_$525_storage_ptr", - "typeString": "struct Governor.ProposalCore storage pointer" - } - }, - "id": 1623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18376:9:2", - "memberName": "voteStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 517, - "src": "18367:18:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_BlockNumber_$4318_storage", - "typeString": "struct Timers.BlockNumber storage ref" - } - }, - "id": 1624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18386:11:2", - "memberName": "getDeadline", - "nodeType": "MemberAccess", - "referencedDeclaration": 4330, - "src": "18367:30:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_BlockNumber_$4318_memory_ptr_$returns$_t_uint64_$bound_to$_t_struct$_BlockNumber_$4318_memory_ptr_$", - "typeString": "function (struct Timers.BlockNumber memory) pure returns (uint64)" - } - }, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18367:32:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - { - "id": 1626, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1596, - "src": "18401:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1620, - "name": "_getVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "18348:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (address,uint256,bytes memory) view returns (uint256)" - } - }, - "id": 1627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18348:60:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18331:77:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1630, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "18429:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1631, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "18441:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1632, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1592, - "src": "18450:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1633, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "18459:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1634, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1596, - "src": "18467:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1629, - "name": "_countVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 878, - "src": "18418:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_uint8_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,uint8,uint256,bytes memory)" - } - }, - "id": 1635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18418:56:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1636, - "nodeType": "ExpressionStatement", - "src": "18418:56:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1637, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1596, - "src": "18489:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18496:6:2", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "18489:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18506:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18489:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1659, - "nodeType": "Block", - "src": "18599:102:2", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 1651, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "18637:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1652, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "18646:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1653, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1592, - "src": "18658:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1654, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "18667:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1655, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1594, - "src": "18675:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 1656, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1596, - "src": "18683:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1650, - "name": "VoteCastWithParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3577, - "src": "18618:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint8,uint256,string memory,bytes memory)" - } - }, - "id": 1657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18618:72:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1658, - "nodeType": "EmitStatement", - "src": "18613:77:2" - } - ] - }, - "id": 1660, - "nodeType": "IfStatement", - "src": "18485:216:2", - "trueBody": { - "id": 1649, - "nodeType": "Block", - "src": "18509:84:2", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 1642, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1590, - "src": "18537:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1643, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1588, - "src": "18546:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1644, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1592, - "src": "18558:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 1645, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "18567:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1646, - "name": "reason", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1594, - "src": "18575:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1641, - "name": "VoteCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3562, - "src": "18528:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint8,uint256,string memory)" - } - }, - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18528:54:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1648, - "nodeType": "EmitStatement", - "src": "18523:59:2" - } - ] - } - }, - { - "expression": { - "id": 1661, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "18718:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1600, - "id": 1662, - "nodeType": "Return", - "src": "18711:13:2" - } - ] - }, - "documentation": { - "id": 1586, - "nodeType": "StructuredDocumentation", - "src": "17686:271:2", - "text": " @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n voting weight using {IGovernor-getVotes} and call the {_countVote} internal function.\n Emits a {IGovernor-VoteCast} event." - }, - "id": 1664, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_castVote", - "nameLocation": "17971:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1588, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "17998:10:2", - "nodeType": "VariableDeclaration", - "scope": 1664, - "src": "17990:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17990:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1590, - "mutability": "mutable", - "name": "account", - "nameLocation": "18026:7:2", - "nodeType": "VariableDeclaration", - "scope": 1664, - "src": "18018:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1589, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18018:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1592, - "mutability": "mutable", - "name": "support", - "nameLocation": "18049:7:2", - "nodeType": "VariableDeclaration", - "scope": 1664, - "src": "18043:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1591, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "18043:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1594, - "mutability": "mutable", - "name": "reason", - "nameLocation": "18080:6:2", - "nodeType": "VariableDeclaration", - "scope": 1664, - "src": "18066:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1593, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18066:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1596, - "mutability": "mutable", - "name": "params", - "nameLocation": "18109:6:2", - "nodeType": "VariableDeclaration", - "scope": 1664, - "src": "18096:19:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1595, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18096:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "17980:141:2" - }, - "returnParameters": { - "id": 1600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1599, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1664, - "src": "18148:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18148:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "18147:9:2" - }, - "scope": 1775, - "src": "17962:769:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 1695, - "nodeType": "Block", - "src": "19319:189:2", - "statements": [ - { - "assignments": [ - 1677, - 1679 - ], - "declarations": [ - { - "constant": false, - "id": 1677, - "mutability": "mutable", - "name": "success", - "nameLocation": "19335:7:2", - "nodeType": "VariableDeclaration", - "scope": 1695, - "src": "19330:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1676, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19330:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1679, - "mutability": "mutable", - "name": "returndata", - "nameLocation": "19357:10:2", - "nodeType": "VariableDeclaration", - "scope": 1695, - "src": "19344:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1678, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19344:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1686, - "initialValue": { - "arguments": [ - { - "id": 1684, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "19397:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 1680, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1667, - "src": "19371:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19378:4:2", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "19371:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 1682, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1669, - "src": "19390:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "19371:25:2", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19371:31:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19329:73:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1690, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "19437:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 1691, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "19446:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "hexValue": "476f7665726e6f723a2072656c617920726576657274656420776974686f7574206d657373616765", - "id": 1692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19458:42:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_188c83882c79ccd2b8efe669664a276c8f2b924bc8cf22525168ceaa78c2598f", - "typeString": "literal_string \"Governor: relay reverted without message\"" - }, - "value": "Governor: relay reverted without message" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_188c83882c79ccd2b8efe669664a276c8f2b924bc8cf22525168ceaa78c2598f", - "typeString": "literal_string \"Governor: relay reverted without message\"" - } - ], - "expression": { - "id": 1687, - "name": "Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4185, - "src": "19412:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Address_$4185_$", - "typeString": "type(library Address)" - } - }, - "id": 1689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19420:16:2", - "memberName": "verifyCallResult", - "nodeType": "MemberAccess", - "referencedDeclaration": 4164, - "src": "19412:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 1693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19412:89:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1694, - "nodeType": "ExpressionStatement", - "src": "19412:89:2" - } - ] - }, - "documentation": { - "id": 1665, - "nodeType": "StructuredDocumentation", - "src": "18737:440:2", - "text": " @dev Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n is some contract other than the governor itself, like when using a timelock, this function can be invoked\n in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n Note that if the executor is simply the governor itself, use of `relay` is redundant." - }, - "functionSelector": "c28bc2fa", - "id": 1696, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1674, - "kind": "modifierInvocation", - "modifierName": { - "id": 1673, - "name": "onlyGovernance", - "nameLocations": [ - "19304:14:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 572, - "src": "19304:14:2" - }, - "nodeType": "ModifierInvocation", - "src": "19304:14:2" - } - ], - "name": "relay", - "nameLocation": "19191:5:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1672, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1667, - "mutability": "mutable", - "name": "target", - "nameLocation": "19214:6:2", - "nodeType": "VariableDeclaration", - "scope": 1696, - "src": "19206:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1666, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19206:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1669, - "mutability": "mutable", - "name": "value", - "nameLocation": "19238:5:2", - "nodeType": "VariableDeclaration", - "scope": 1696, - "src": "19230:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1668, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19230:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1671, - "mutability": "mutable", - "name": "data", - "nameLocation": "19268:4:2", - "nodeType": "VariableDeclaration", - "scope": 1696, - "src": "19253:19:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1670, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19253:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "19196:82:2" - }, - "returnParameters": { - "id": 1675, - "nodeType": "ParameterList", - "parameters": [], - "src": "19319:0:2" - }, - "scope": 1775, - "src": "19182:326:2", - "stateMutability": "payable", - "virtual": true, - "visibility": "external" - }, - { - "body": { - "id": 1707, - "nodeType": "Block", - "src": "19757:37:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1704, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19782:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - ], - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19774:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19774:7:2", - "typeDescriptions": {} - } - }, - "id": 1705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19774:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1701, - "id": 1706, - "nodeType": "Return", - "src": "19767:20:2" - } - ] - }, - "documentation": { - "id": 1697, - "nodeType": "StructuredDocumentation", - "src": "19514:177:2", - "text": " @dev Address through which the governor executes action. Will be overloaded by module that execute actions\n through another contract such as a timelock." - }, - "id": 1708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_executor", - "nameLocation": "19705:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1698, - "nodeType": "ParameterList", - "parameters": [], - "src": "19714:2:2" - }, - "returnParameters": { - "id": 1701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1700, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1708, - "src": "19748:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1699, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19748:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "19747:9:2" - }, - "scope": 1775, - "src": "19696:98:2", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 3854 - ], - "body": { - "id": 1727, - "nodeType": "Block", - "src": "20014:54:2", - "statements": [ - { - "expression": { - "expression": { - "expression": { - "id": 1723, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "20031:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20036:16:2", - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1728, - "src": "20031:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 1725, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20053:8:2", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "20031:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 1722, - "id": 1726, - "nodeType": "Return", - "src": "20024:37:2" - } - ] - }, - "documentation": { - "id": 1709, - "nodeType": "StructuredDocumentation", - "src": "19800:63:2", - "text": " @dev See {IERC721Receiver-onERC721Received}." - }, - "functionSelector": "150b7a02", - "id": 1728, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "19877:16:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1719, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "19988:8:2" - }, - "parameters": { - "id": 1718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1711, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1728, - "src": "19903:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1710, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19903:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1713, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1728, - "src": "19920:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19920:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1715, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1728, - "src": "19937:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19937:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1717, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1728, - "src": "19954:12:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1716, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19954:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "19893:79:2" - }, - "returnParameters": { - "id": 1722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1721, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1728, - "src": "20006:6:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1720, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "20006:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "20005:8:2" - }, - "scope": 1775, - "src": "19868:200:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3818 - ], - "body": { - "id": 1749, - "nodeType": "Block", - "src": "20308:55:2", - "statements": [ - { - "expression": { - "expression": { - "expression": { - "id": 1745, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "20325:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - }, - "id": 1746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20330:17:2", - "memberName": "onERC1155Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 1750, - "src": "20325:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 1747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20348:8:2", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "20325:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 1744, - "id": 1748, - "nodeType": "Return", - "src": "20318:38:2" - } - ] - }, - "documentation": { - "id": 1729, - "nodeType": "StructuredDocumentation", - "src": "20074:65:2", - "text": " @dev See {IERC1155Receiver-onERC1155Received}." - }, - "functionSelector": "f23a6e61", - "id": 1750, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nameLocation": "20153:17:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1741, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "20282:8:2" - }, - "parameters": { - "id": 1740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1731, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1750, - "src": "20180:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20180:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1733, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1750, - "src": "20197:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20197:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1735, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1750, - "src": "20214:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20214:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1737, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1750, - "src": "20231:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20231:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1739, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1750, - "src": "20248:12:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1738, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "20248:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "20170:96:2" - }, - "returnParameters": { - "id": 1744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1743, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1750, - "src": "20300:6:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1742, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "20300:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "20299:8:2" - }, - "scope": 1775, - "src": "20144:219:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3836 - ], - "body": { - "id": 1773, - "nodeType": "Block", - "src": "20631:60:2", - "statements": [ - { - "expression": { - "expression": { - "expression": { - "id": 1769, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "20648:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governor_$1775", - "typeString": "contract Governor" - } - }, - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20653:22:2", - "memberName": "onERC1155BatchReceived", - "nodeType": "MemberAccess", - "referencedDeclaration": 1774, - "src": "20648:27:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 1771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20676:8:2", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "20648:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 1768, - "id": 1772, - "nodeType": "Return", - "src": "20641:43:2" - } - ] - }, - "documentation": { - "id": 1751, - "nodeType": "StructuredDocumentation", - "src": "20369:70:2", - "text": " @dev See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "functionSelector": "bc197c81", - "id": 1774, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nameLocation": "20453:22:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1765, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "20605:8:2" - }, - "parameters": { - "id": 1764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1753, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1774, - "src": "20485:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1752, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20485:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1755, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1774, - "src": "20502:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20502:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1758, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1774, - "src": "20519:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20519:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1757, - "nodeType": "ArrayTypeName", - "src": "20519:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1761, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1774, - "src": "20545:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1759, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20545:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1760, - "nodeType": "ArrayTypeName", - "src": "20545:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1763, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1774, - "src": "20571:12:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1762, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "20571:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "20475:114:2" - }, - "returnParameters": { - "id": 1768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1767, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1774, - "src": "20623:6:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1766, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "20623:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "20622:8:2" - }, - "scope": 1775, - "src": "20444:247:2", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 1776, - "src": "998:19695:2", - "usedErrors": [ - 6508 - ] - } - ], - "src": "107:20587:2" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "Governor", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Address", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/DoubleEndedQueue", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ECDSA", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/SafeCast", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Strings", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Timers" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Core of the governance system, designed to be extended though various modules. This contract is abstract and requires several function to be implemented in various modules: - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote} - A voting module must implement {_getVotes} - Additionanly, the {votingPeriod} must also be implemented _Available since v4.3._", - "errors": { - "Empty()": [ - { - "details": "An operation (e.g. {front}) couldn't be completed due to the queue being empty." - } - ] - }, - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.", - "notice": "module:voting" - }, - "castVote(uint256,uint8)": { - "details": "See {IGovernor-castVote}." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteBySig}." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "See {IGovernor-castVoteWithReason}." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "See {IGovernor-castVoteWithReasonAndParams}." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteWithReasonAndParamsBySig}." - }, - "constructor": { - "details": "Sets the value for {name} and {version}" - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-execute}." - }, - "getVotes(address,uint256)": { - "details": "See {IGovernor-getVotes}." - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "See {IGovernor-getVotesWithParams}." - }, - "hasVoted(uint256,address)": { - "details": "Returns whether `account` has cast a vote on `proposalId`.", - "notice": "module:voting" - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts." - }, - "name()": { - "details": "See {IGovernor-name}." - }, - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "See {IERC1155Receiver-onERC1155Received}." - }, - "onERC721Received(address,address,uint256,bytes)": { - "details": "See {IERC721Receiver-onERC721Received}." - }, - "proposalDeadline(uint256)": { - "details": "See {IGovernor-proposalDeadline}." - }, - "proposalSnapshot(uint256)": { - "details": "See {IGovernor-proposalSnapshot}." - }, - "proposalThreshold()": { - "details": "Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_." - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "See {IGovernor-propose}." - }, - "quorum(uint256)": { - "details": "Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).", - "notice": "module:user-config" - }, - "relay(address,uint256,bytes)": { - "details": "Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant." - }, - "state(uint256)": { - "details": "See {IGovernor-state}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "version()": { - "details": "See {IGovernor-version}." - }, - "votingDelay()": { - "details": "Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.", - "notice": "module:user-config" - }, - "votingPeriod()": { - "details": "Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.", - "notice": "module:user-config" - } - }, - "version": 1 - }, - "offset": [ - 998, - 20693 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "c0e800191c44e1c43f7154fc689644155a0f59bd", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/Governor.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/IERC721Receiver.sol\";\nimport \"../token/ERC1155/IERC1155Receiver.sol\";\nimport \"../utils/cryptography/ECDSA.sol\";\nimport \"../utils/cryptography/EIP712.sol\";\nimport \"../utils/introspection/ERC165.sol\";\nimport \"../utils/math/SafeCast.sol\";\nimport \"../utils/structs/DoubleEndedQueue.sol\";\nimport \"../utils/Address.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Timers.sol\";\nimport \"./IGovernor.sol\";\n\n/**\n * @dev Core of the governance system, designed to be extended though various modules.\n *\n * This contract is abstract and requires several function to be implemented in various modules:\n *\n * - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote}\n * - A voting module must implement {_getVotes}\n * - Additionanly, the {votingPeriod} must also be implemented\n *\n * _Available since v4.3._\n */\nabstract contract Governor is Context, ERC165, EIP712, IGovernor, IERC721Receiver, IERC1155Receiver {\n using DoubleEndedQueue for DoubleEndedQueue.Bytes32Deque;\n using SafeCast for uint256;\n using Timers for Timers.BlockNumber;\n\n bytes32 public constant BALLOT_TYPEHASH = keccak256(\"Ballot(uint256 proposalId,uint8 support)\");\n bytes32 public constant EXTENDED_BALLOT_TYPEHASH =\n keccak256(\"ExtendedBallot(uint256 proposalId,uint8 support,string reason,bytes params)\");\n\n struct ProposalCore {\n Timers.BlockNumber voteStart;\n Timers.BlockNumber voteEnd;\n bool executed;\n bool canceled;\n }\n\n string private _name;\n\n mapping(uint256 => ProposalCore) private _proposals;\n\n // This queue keeps track of the governor operating on itself. Calls to functions protected by the\n // {onlyGovernance} modifier needs to be whitelisted in this queue. Whitelisting is set in {_beforeExecute},\n // consumed by the {onlyGovernance} modifier and eventually reset in {_afterExecute}. This ensures that the\n // execution of {onlyGovernance} protected calls can only be achieved through successful proposals.\n DoubleEndedQueue.Bytes32Deque private _governanceCall;\n\n /**\n * @dev Restricts a function so it can only be executed through governance proposals. For example, governance\n * parameter setters in {GovernorSettings} are protected using this modifier.\n *\n * The governance executing address may be different from the Governor's own address, for example it could be a\n * timelock. This can be customized by modules by overriding {_executor}. The executor is only able to invoke these\n * functions during the execution of the governor's {execute} function, and not under any other circumstances. Thus,\n * for example, additional timelock proposers are not able to change governance parameters without going through the\n * governance protocol (since v4.6).\n */\n modifier onlyGovernance() {\n require(_msgSender() == _executor(), \"Governor: onlyGovernance\");\n if (_executor() != address(this)) {\n bytes32 msgDataHash = keccak256(_msgData());\n // loop until popping the expected operation - throw if deque is empty (operation not authorized)\n while (_governanceCall.popFront() != msgDataHash) {}\n }\n _;\n }\n\n /**\n * @dev Sets the value for {name} and {version}\n */\n constructor(string memory name_) EIP712(name_, version()) {\n _name = name_;\n }\n\n /**\n * @dev Function to receive ETH that will be handled by the governor (disabled if executor is a third party contract)\n */\n receive() external payable virtual {\n require(_executor() == address(this));\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC165) returns (bool) {\n // In addition to the current interfaceId, also support previous version of the interfaceId that did not\n // include the castVoteWithReasonAndParams() function as standard\n return\n interfaceId ==\n (type(IGovernor).interfaceId ^\n this.castVoteWithReasonAndParams.selector ^\n this.castVoteWithReasonAndParamsBySig.selector ^\n this.getVotesWithParams.selector) ||\n interfaceId == type(IGovernor).interfaceId ||\n interfaceId == type(IERC1155Receiver).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IGovernor-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IGovernor-version}.\n */\n function version() public view virtual override returns (string memory) {\n return \"1\";\n }\n\n /**\n * @dev See {IGovernor-hashProposal}.\n *\n * The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array\n * and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id\n * can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in\n * advance, before the proposal is submitted.\n *\n * Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the\n * same proposal (with same operation and same description) will have the same id if submitted on multiple governors\n * across multiple networks. This also means that in order to execute the same operation twice (on the same\n * governor) the proposer will have to change the description in order to avoid proposal id conflicts.\n */\n function hashProposal(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public pure virtual override returns (uint256) {\n return uint256(keccak256(abi.encode(targets, values, calldatas, descriptionHash)));\n }\n\n /**\n * @dev See {IGovernor-state}.\n */\n function state(uint256 proposalId) public view virtual override returns (ProposalState) {\n ProposalCore storage proposal = _proposals[proposalId];\n\n if (proposal.executed) {\n return ProposalState.Executed;\n }\n\n if (proposal.canceled) {\n return ProposalState.Canceled;\n }\n\n uint256 snapshot = proposalSnapshot(proposalId);\n\n if (snapshot == 0) {\n revert(\"Governor: unknown proposal id\");\n }\n\n if (snapshot >= block.number) {\n return ProposalState.Pending;\n }\n\n uint256 deadline = proposalDeadline(proposalId);\n\n if (deadline >= block.number) {\n return ProposalState.Active;\n }\n\n if (_quorumReached(proposalId) && _voteSucceeded(proposalId)) {\n return ProposalState.Succeeded;\n } else {\n return ProposalState.Defeated;\n }\n }\n\n /**\n * @dev See {IGovernor-proposalSnapshot}.\n */\n function proposalSnapshot(uint256 proposalId) public view virtual override returns (uint256) {\n return _proposals[proposalId].voteStart.getDeadline();\n }\n\n /**\n * @dev See {IGovernor-proposalDeadline}.\n */\n function proposalDeadline(uint256 proposalId) public view virtual override returns (uint256) {\n return _proposals[proposalId].voteEnd.getDeadline();\n }\n\n /**\n * @dev Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_.\n */\n function proposalThreshold() public view virtual returns (uint256) {\n return 0;\n }\n\n /**\n * @dev Amount of votes already cast passes the threshold limit.\n */\n function _quorumReached(uint256 proposalId) internal view virtual returns (bool);\n\n /**\n * @dev Is the proposal successful or not.\n */\n function _voteSucceeded(uint256 proposalId) internal view virtual returns (bool);\n\n /**\n * @dev Get the voting weight of `account` at a specific `blockNumber`, for a vote as described by `params`.\n */\n function _getVotes(\n address account,\n uint256 blockNumber,\n bytes memory params\n ) internal view virtual returns (uint256);\n\n /**\n * @dev Register a vote for `proposalId` by `account` with a given `support`, voting `weight` and voting `params`.\n *\n * Note: Support is generic and can represent various things depending on the voting system used.\n */\n function _countVote(\n uint256 proposalId,\n address account,\n uint8 support,\n uint256 weight,\n bytes memory params\n ) internal virtual;\n\n /**\n * @dev Default additional encoded parameters used by castVote methods that don't include them\n *\n * Note: Should be overridden by specific implementations to use an appropriate value, the\n * meaning of the additional params, in the context of that implementation\n */\n function _defaultParams() internal view virtual returns (bytes memory) {\n return \"\";\n }\n\n /**\n * @dev See {IGovernor-propose}.\n */\n function propose(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n string memory description\n ) public virtual override returns (uint256) {\n require(\n getVotes(_msgSender(), block.number - 1) >= proposalThreshold(),\n \"Governor: proposer votes below proposal threshold\"\n );\n\n uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description)));\n\n require(targets.length == values.length, \"Governor: invalid proposal length\");\n require(targets.length == calldatas.length, \"Governor: invalid proposal length\");\n require(targets.length > 0, \"Governor: empty proposal\");\n\n ProposalCore storage proposal = _proposals[proposalId];\n require(proposal.voteStart.isUnset(), \"Governor: proposal already exists\");\n\n uint64 snapshot = block.number.toUint64() + votingDelay().toUint64();\n uint64 deadline = snapshot + votingPeriod().toUint64();\n\n proposal.voteStart.setDeadline(snapshot);\n proposal.voteEnd.setDeadline(deadline);\n\n emit ProposalCreated(\n proposalId,\n _msgSender(),\n targets,\n values,\n new string[](targets.length),\n calldatas,\n snapshot,\n deadline,\n description\n );\n\n return proposalId;\n }\n\n /**\n * @dev See {IGovernor-execute}.\n */\n function execute(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public payable virtual override returns (uint256) {\n uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n ProposalState status = state(proposalId);\n require(\n status == ProposalState.Succeeded || status == ProposalState.Queued,\n \"Governor: proposal not successful\"\n );\n _proposals[proposalId].executed = true;\n\n emit ProposalExecuted(proposalId);\n\n _beforeExecute(proposalId, targets, values, calldatas, descriptionHash);\n _execute(proposalId, targets, values, calldatas, descriptionHash);\n _afterExecute(proposalId, targets, values, calldatas, descriptionHash);\n\n return proposalId;\n }\n\n /**\n * @dev Internal execution mechanism. Can be overridden to implement different execution mechanism\n */\n function _execute(\n uint256, /* proposalId */\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 /*descriptionHash*/\n ) internal virtual {\n string memory errorMessage = \"Governor: call reverted without message\";\n for (uint256 i = 0; i < targets.length; ++i) {\n (bool success, bytes memory returndata) = targets[i].call{value: values[i]}(calldatas[i]);\n Address.verifyCallResult(success, returndata, errorMessage);\n }\n }\n\n /**\n * @dev Hook before execution is triggered.\n */\n function _beforeExecute(\n uint256, /* proposalId */\n address[] memory targets,\n uint256[] memory, /* values */\n bytes[] memory calldatas,\n bytes32 /*descriptionHash*/\n ) internal virtual {\n if (_executor() != address(this)) {\n for (uint256 i = 0; i < targets.length; ++i) {\n if (targets[i] == address(this)) {\n _governanceCall.pushBack(keccak256(calldatas[i]));\n }\n }\n }\n }\n\n /**\n * @dev Hook after execution is triggered.\n */\n function _afterExecute(\n uint256, /* proposalId */\n address[] memory, /* targets */\n uint256[] memory, /* values */\n bytes[] memory, /* calldatas */\n bytes32 /*descriptionHash*/\n ) internal virtual {\n if (_executor() != address(this)) {\n if (!_governanceCall.empty()) {\n _governanceCall.clear();\n }\n }\n }\n\n /**\n * @dev Internal cancel mechanism: locks up the proposal timer, preventing it from being re-submitted. Marks it as\n * canceled to allow distinguishing it from executed proposals.\n *\n * Emits a {IGovernor-ProposalCanceled} event.\n */\n function _cancel(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) internal virtual returns (uint256) {\n uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n ProposalState status = state(proposalId);\n\n require(\n status != ProposalState.Canceled && status != ProposalState.Expired && status != ProposalState.Executed,\n \"Governor: proposal not active\"\n );\n _proposals[proposalId].canceled = true;\n\n emit ProposalCanceled(proposalId);\n\n return proposalId;\n }\n\n /**\n * @dev See {IGovernor-getVotes}.\n */\n function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {\n return _getVotes(account, blockNumber, _defaultParams());\n }\n\n /**\n * @dev See {IGovernor-getVotesWithParams}.\n */\n function getVotesWithParams(\n address account,\n uint256 blockNumber,\n bytes memory params\n ) public view virtual override returns (uint256) {\n return _getVotes(account, blockNumber, params);\n }\n\n /**\n * @dev See {IGovernor-castVote}.\n */\n function castVote(uint256 proposalId, uint8 support) public virtual override returns (uint256) {\n address voter = _msgSender();\n return _castVote(proposalId, voter, support, \"\");\n }\n\n /**\n * @dev See {IGovernor-castVoteWithReason}.\n */\n function castVoteWithReason(\n uint256 proposalId,\n uint8 support,\n string calldata reason\n ) public virtual override returns (uint256) {\n address voter = _msgSender();\n return _castVote(proposalId, voter, support, reason);\n }\n\n /**\n * @dev See {IGovernor-castVoteWithReasonAndParams}.\n */\n function castVoteWithReasonAndParams(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params\n ) public virtual override returns (uint256) {\n address voter = _msgSender();\n return _castVote(proposalId, voter, support, reason, params);\n }\n\n /**\n * @dev See {IGovernor-castVoteBySig}.\n */\n function castVoteBySig(\n uint256 proposalId,\n uint8 support,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override returns (uint256) {\n address voter = ECDSA.recover(\n _hashTypedDataV4(keccak256(abi.encode(BALLOT_TYPEHASH, proposalId, support))),\n v,\n r,\n s\n );\n return _castVote(proposalId, voter, support, \"\");\n }\n\n /**\n * @dev See {IGovernor-castVoteWithReasonAndParamsBySig}.\n */\n function castVoteWithReasonAndParamsBySig(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual override returns (uint256) {\n address voter = ECDSA.recover(\n _hashTypedDataV4(\n keccak256(\n abi.encode(\n EXTENDED_BALLOT_TYPEHASH,\n proposalId,\n support,\n keccak256(bytes(reason)),\n keccak256(params)\n )\n )\n ),\n v,\n r,\n s\n );\n\n return _castVote(proposalId, voter, support, reason, params);\n }\n\n /**\n * @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n * voting weight using {IGovernor-getVotes} and call the {_countVote} internal function. Uses the _defaultParams().\n *\n * Emits a {IGovernor-VoteCast} event.\n */\n function _castVote(\n uint256 proposalId,\n address account,\n uint8 support,\n string memory reason\n ) internal virtual returns (uint256) {\n return _castVote(proposalId, account, support, reason, _defaultParams());\n }\n\n /**\n * @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve\n * voting weight using {IGovernor-getVotes} and call the {_countVote} internal function.\n *\n * Emits a {IGovernor-VoteCast} event.\n */\n function _castVote(\n uint256 proposalId,\n address account,\n uint8 support,\n string memory reason,\n bytes memory params\n ) internal virtual returns (uint256) {\n ProposalCore storage proposal = _proposals[proposalId];\n require(state(proposalId) == ProposalState.Active, \"Governor: vote not currently active\");\n\n uint256 weight = _getVotes(account, proposal.voteStart.getDeadline(), params);\n _countVote(proposalId, account, support, weight, params);\n\n if (params.length == 0) {\n emit VoteCast(account, proposalId, support, weight, reason);\n } else {\n emit VoteCastWithParams(account, proposalId, support, weight, reason, params);\n }\n\n return weight;\n }\n\n /**\n * @dev Relays a transaction or function call to an arbitrary target. In cases where the governance executor\n * is some contract other than the governor itself, like when using a timelock, this function can be invoked\n * in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake.\n * Note that if the executor is simply the governor itself, use of `relay` is redundant.\n */\n function relay(\n address target,\n uint256 value,\n bytes calldata data\n ) external payable virtual onlyGovernance {\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n Address.verifyCallResult(success, returndata, \"Governor: relay reverted without message\");\n }\n\n /**\n * @dev Address through which the governor executes action. Will be overloaded by module that execute actions\n * through another contract such as a timelock.\n */\n function _executor() internal view virtual returns (address) {\n return address(this);\n }\n\n /**\n * @dev See {IERC721Receiver-onERC721Received}.\n */\n function onERC721Received(\n address,\n address,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC721Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155Received}.\n */\n function onERC1155Received(\n address,\n address,\n uint256,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155BatchReceived}.\n */\n function onERC1155BatchReceived(\n address,\n address,\n uint256[] memory,\n uint256[] memory,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155BatchReceived.selector;\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorCountingSimple.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorCountingSimple.json deleted file mode 100644 index 9b4d3e8f..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorCountingSimple.json +++ /dev/null @@ -1,3783 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "againstVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "forVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "abstainVotes", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "allSourcePaths": { - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "2": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "5": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorCountingSimple.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorCountingSimple.sol", - "exportedSymbols": { - "Address": [ - 4185 - ], - "Context": [ - 4207 - ], - "DoubleEndedQueue": [ - 6842 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC165": [ - 4960 - ], - "Governor": [ - 1775 - ], - "GovernorCountingSimple": [ - 2001 - ], - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ], - "IERC721Receiver": [ - 3855 - ], - "IGovernor": [ - 3796 - ], - "Math": [ - 10283 - ], - "SafeCast": [ - 6501 - ], - "Strings": [ - 10470 - ], - "Timers": [ - 4421 - ] - }, - "id": 2002, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1777, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "132:23:5" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "file": "../Governor.sol", - "id": 1778, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2002, - "sourceUnit": 1776, - "src": "157:25:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 1780, - "name": "Governor", - "nameLocations": [ - "336:8:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1775, - "src": "336:8:5" - }, - "id": 1781, - "nodeType": "InheritanceSpecifier", - "src": "336:8:5" - } - ], - "canonicalName": "GovernorCountingSimple", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 1779, - "nodeType": "StructuredDocumentation", - "src": "184:107:5", - "text": " @dev Extension of {Governor} for simple, 3 options, vote counting.\n _Available since v4.3._" - }, - "fullyImplemented": false, - "id": 2001, - "linearizedBaseContracts": [ - 2001, - 1775, - 3837, - 3855, - 3796, - 4936, - 4960, - 10295, - 4207 - ], - "name": "GovernorCountingSimple", - "nameLocation": "310:22:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "GovernorCountingSimple.VoteType", - "id": 1785, - "members": [ - { - "id": 1782, - "name": "Against", - "nameLocation": "458:7:5", - "nodeType": "EnumValue", - "src": "458:7:5" - }, - { - "id": 1783, - "name": "For", - "nameLocation": "475:3:5", - "nodeType": "EnumValue", - "src": "475:3:5" - }, - { - "id": 1784, - "name": "Abstain", - "nameLocation": "488:7:5", - "nodeType": "EnumValue", - "src": "488:7:5" - } - ], - "name": "VoteType", - "nameLocation": "439:8:5", - "nodeType": "EnumDefinition", - "src": "434:67:5" - }, - { - "canonicalName": "GovernorCountingSimple.ProposalVote", - "id": 1796, - "members": [ - { - "constant": false, - "id": 1787, - "mutability": "mutable", - "name": "againstVotes", - "nameLocation": "545:12:5", - "nodeType": "VariableDeclaration", - "scope": 1796, - "src": "537:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1786, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "537:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1789, - "mutability": "mutable", - "name": "forVotes", - "nameLocation": "575:8:5", - "nodeType": "VariableDeclaration", - "scope": 1796, - "src": "567:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "567:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1791, - "mutability": "mutable", - "name": "abstainVotes", - "nameLocation": "601:12:5", - "nodeType": "VariableDeclaration", - "scope": 1796, - "src": "593:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "593:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1795, - "mutability": "mutable", - "name": "hasVoted", - "nameLocation": "648:8:5", - "nodeType": "VariableDeclaration", - "scope": 1796, - "src": "623:33:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1794, - "keyType": { - "id": 1792, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "631:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "623:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "642:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "internal" - } - ], - "name": "ProposalVote", - "nameLocation": "514:12:5", - "nodeType": "StructDefinition", - "scope": 2001, - "src": "507:156:5", - "visibility": "public" - }, - { - "constant": false, - "id": 1801, - "mutability": "mutable", - "name": "_proposalVotes", - "nameLocation": "710:14:5", - "nodeType": "VariableDeclaration", - "scope": 2001, - "src": "669:55:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalVote_$1796_storage_$", - "typeString": "mapping(uint256 => struct GovernorCountingSimple.ProposalVote)" - }, - "typeName": { - "id": 1800, - "keyType": { - "id": 1797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "677:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "669:32:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalVote_$1796_storage_$", - "typeString": "mapping(uint256 => struct GovernorCountingSimple.ProposalVote)" - }, - "valueType": { - "id": 1799, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1798, - "name": "ProposalVote", - "nameLocations": [ - "688:12:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1796, - "src": "688:12:5" - }, - "referencedDeclaration": 1796, - "src": "688:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - } - } - }, - "visibility": "private" - }, - { - "baseFunctions": [ - 3595 - ], - "body": { - "id": 1810, - "nodeType": "Block", - "src": "921:58:5", - "statements": [ - { - "expression": { - "hexValue": "737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e", - "id": 1808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "938:34:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a3816e28b29b48b8e7bf93291116c21473ef28186248d173042d1986430466e1", - "typeString": "literal_string \"support=bravo&quorum=for,abstain\"" - }, - "value": "support=bravo&quorum=for,abstain" - }, - "functionReturnParameters": 1807, - "id": 1809, - "nodeType": "Return", - "src": "931:41:5" - } - ] - }, - "documentation": { - "id": 1802, - "nodeType": "StructuredDocumentation", - "src": "731:54:5", - "text": " @dev See {IGovernor-COUNTING_MODE}." - }, - "functionSelector": "dd4e2ba5", - "id": 1811, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "COUNTING_MODE", - "nameLocation": "852:13:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1804, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "888:8:5" - }, - "parameters": { - "id": 1803, - "nodeType": "ParameterList", - "parameters": [], - "src": "865:2:5" - }, - "returnParameters": { - "id": 1807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1806, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1811, - "src": "906:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1805, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "906:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "905:15:5" - }, - "scope": 2001, - "src": "843:136:5", - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3689 - ], - "body": { - "id": 1829, - "nodeType": "Block", - "src": "1138:68:5", - "statements": [ - { - "expression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 1822, - "name": "_proposalVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1801, - "src": "1155:14:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalVote_$1796_storage_$", - "typeString": "mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)" - } - }, - "id": 1824, - "indexExpression": { - "id": 1823, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1814, - "src": "1170:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1155:26:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage", - "typeString": "struct GovernorCountingSimple.ProposalVote storage ref" - } - }, - "id": 1825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1182:8:5", - "memberName": "hasVoted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1795, - "src": "1155:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1827, - "indexExpression": { - "id": 1826, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1816, - "src": "1191:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1155:44:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1821, - "id": 1828, - "nodeType": "Return", - "src": "1148:51:5" - } - ] - }, - "documentation": { - "id": 1812, - "nodeType": "StructuredDocumentation", - "src": "985:49:5", - "text": " @dev See {IGovernor-hasVoted}." - }, - "functionSelector": "43859632", - "id": 1830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "hasVoted", - "nameLocation": "1048:8:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1818, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1114:8:5" - }, - "parameters": { - "id": 1817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1814, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1065:10:5", - "nodeType": "VariableDeclaration", - "scope": 1830, - "src": "1057:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1057:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1816, - "mutability": "mutable", - "name": "account", - "nameLocation": "1085:7:5", - "nodeType": "VariableDeclaration", - "scope": 1830, - "src": "1077:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1077:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1056:37:5" - }, - "returnParameters": { - "id": 1821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1820, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1830, - "src": "1132:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1819, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1132:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1131:6:5" - }, - "scope": 2001, - "src": "1039:167:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1857, - "nodeType": "Block", - "src": "1494:173:5", - "statements": [ - { - "assignments": [ - 1844 - ], - "declarations": [ - { - "constant": false, - "id": 1844, - "mutability": "mutable", - "name": "proposalVote", - "nameLocation": "1525:12:5", - "nodeType": "VariableDeclaration", - "scope": 1857, - "src": "1504:33:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - }, - "typeName": { - "id": 1843, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1842, - "name": "ProposalVote", - "nameLocations": [ - "1504:12:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1796, - "src": "1504:12:5" - }, - "referencedDeclaration": 1796, - "src": "1504:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - } - }, - "visibility": "internal" - } - ], - "id": 1848, - "initialValue": { - "baseExpression": { - "id": 1845, - "name": "_proposalVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1801, - "src": "1540:14:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalVote_$1796_storage_$", - "typeString": "mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)" - } - }, - "id": 1847, - "indexExpression": { - "id": 1846, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1833, - "src": "1555:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1540:26:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage", - "typeString": "struct GovernorCountingSimple.ProposalVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1504:62:5" - }, - { - "expression": { - "components": [ - { - "expression": { - "id": 1849, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1844, - "src": "1584:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1597:12:5", - "memberName": "againstVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1787, - "src": "1584:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 1851, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1844, - "src": "1611:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1852, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1624:8:5", - "memberName": "forVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1789, - "src": "1611:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 1853, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1844, - "src": "1634:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1854, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1647:12:5", - "memberName": "abstainVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1791, - "src": "1634:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1855, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1583:77:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 1841, - "id": 1856, - "nodeType": "Return", - "src": "1576:84:5" - } - ] - }, - "documentation": { - "id": 1831, - "nodeType": "StructuredDocumentation", - "src": "1212:61:5", - "text": " @dev Accessor to the internal vote counts." - }, - "functionSelector": "544ffc9c", - "id": 1858, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalVotes", - "nameLocation": "1287:13:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1833, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1309:10:5", - "nodeType": "VariableDeclaration", - "scope": 1858, - "src": "1301:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1301:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1300:20:5" - }, - "returnParameters": { - "id": 1841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1836, - "mutability": "mutable", - "name": "againstVotes", - "nameLocation": "1403:12:5", - "nodeType": "VariableDeclaration", - "scope": 1858, - "src": "1395:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1395:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1838, - "mutability": "mutable", - "name": "forVotes", - "nameLocation": "1437:8:5", - "nodeType": "VariableDeclaration", - "scope": 1858, - "src": "1429:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1429:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1840, - "mutability": "mutable", - "name": "abstainVotes", - "nameLocation": "1467:12:5", - "nodeType": "VariableDeclaration", - "scope": 1858, - "src": "1459:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1459:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1381:108:5" - }, - "scope": 2001, - "src": "1278:389:5", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 844 - ], - "body": { - "id": 1886, - "nodeType": "Block", - "src": "1822:186:5", - "statements": [ - { - "assignments": [ - 1869 - ], - "declarations": [ - { - "constant": false, - "id": 1869, - "mutability": "mutable", - "name": "proposalVote", - "nameLocation": "1853:12:5", - "nodeType": "VariableDeclaration", - "scope": 1886, - "src": "1832:33:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - }, - "typeName": { - "id": 1868, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1867, - "name": "ProposalVote", - "nameLocations": [ - "1832:12:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1796, - "src": "1832:12:5" - }, - "referencedDeclaration": 1796, - "src": "1832:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - } - }, - "visibility": "internal" - } - ], - "id": 1873, - "initialValue": { - "baseExpression": { - "id": 1870, - "name": "_proposalVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1801, - "src": "1868:14:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalVote_$1796_storage_$", - "typeString": "mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)" - } - }, - "id": 1872, - "indexExpression": { - "id": 1871, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "1883:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1868:26:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage", - "typeString": "struct GovernorCountingSimple.ProposalVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1832:62:5" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 1876, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "1936:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1875, - "name": "proposalSnapshot", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 810 - ], - "referencedDeclaration": 810, - "src": "1919:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1919:28:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1874, - "name": "quorum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3657, - "src": "1912:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1912:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1879, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "1952:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1965:8:5", - "memberName": "forVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1789, - "src": "1952:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "expression": { - "id": 1881, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1869, - "src": "1976:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1989:12:5", - "memberName": "abstainVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1791, - "src": "1976:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1952:49:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1912:89:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1866, - "id": 1885, - "nodeType": "Return", - "src": "1905:96:5" - } - ] - }, - "documentation": { - "id": 1859, - "nodeType": "StructuredDocumentation", - "src": "1673:54:5", - "text": " @dev See {Governor-_quorumReached}." - }, - "id": 1887, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_quorumReached", - "nameLocation": "1741:14:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1863, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1798:8:5" - }, - "parameters": { - "id": 1862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1861, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1764:10:5", - "nodeType": "VariableDeclaration", - "scope": 1887, - "src": "1756:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1860, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1755:20:5" - }, - "returnParameters": { - "id": 1866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1865, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1887, - "src": "1816:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1864, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1816:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1815:6:5" - }, - "scope": 2001, - "src": "1732:276:5", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 852 - ], - "body": { - "id": 1909, - "nodeType": "Block", - "src": "2232:146:5", - "statements": [ - { - "assignments": [ - 1898 - ], - "declarations": [ - { - "constant": false, - "id": 1898, - "mutability": "mutable", - "name": "proposalVote", - "nameLocation": "2263:12:5", - "nodeType": "VariableDeclaration", - "scope": 1909, - "src": "2242:33:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - }, - "typeName": { - "id": 1897, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1896, - "name": "ProposalVote", - "nameLocations": [ - "2242:12:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1796, - "src": "2242:12:5" - }, - "referencedDeclaration": 1796, - "src": "2242:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - } - }, - "visibility": "internal" - } - ], - "id": 1902, - "initialValue": { - "baseExpression": { - "id": 1899, - "name": "_proposalVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1801, - "src": "2278:14:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalVote_$1796_storage_$", - "typeString": "mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)" - } - }, - "id": 1901, - "indexExpression": { - "id": 1900, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1890, - "src": "2293:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2278:26:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage", - "typeString": "struct GovernorCountingSimple.ProposalVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2242:62:5" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1903, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1898, - "src": "2322:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2335:8:5", - "memberName": "forVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1789, - "src": "2322:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 1905, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1898, - "src": "2346:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2359:12:5", - "memberName": "againstVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1787, - "src": "2346:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2322:49:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1895, - "id": 1908, - "nodeType": "Return", - "src": "2315:56:5" - } - ] - }, - "documentation": { - "id": 1888, - "nodeType": "StructuredDocumentation", - "src": "2014:123:5", - "text": " @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be strictly over the againstVotes." - }, - "id": 1910, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_voteSucceeded", - "nameLocation": "2151:14:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1892, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2208:8:5" - }, - "parameters": { - "id": 1891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1890, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "2174:10:5", - "nodeType": "VariableDeclaration", - "scope": 1910, - "src": "2166:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1889, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2166:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2165:20:5" - }, - "returnParameters": { - "id": 1895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1894, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1910, - "src": "2226:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1893, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2226:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2225:6:5" - }, - "scope": 2001, - "src": "2142:236:5", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 878 - ], - "body": { - "id": 1999, - "nodeType": "Block", - "src": "2702:628:5", - "statements": [ - { - "assignments": [ - 1927 - ], - "declarations": [ - { - "constant": false, - "id": 1927, - "mutability": "mutable", - "name": "proposalVote", - "nameLocation": "2733:12:5", - "nodeType": "VariableDeclaration", - "scope": 1999, - "src": "2712:33:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - }, - "typeName": { - "id": 1926, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 1925, - "name": "ProposalVote", - "nameLocations": [ - "2712:12:5" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1796, - "src": "2712:12:5" - }, - "referencedDeclaration": 1796, - "src": "2712:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote" - } - }, - "visibility": "internal" - } - ], - "id": 1931, - "initialValue": { - "baseExpression": { - "id": 1928, - "name": "_proposalVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1801, - "src": "2748:14:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProposalVote_$1796_storage_$", - "typeString": "mapping(uint256 => struct GovernorCountingSimple.ProposalVote storage ref)" - } - }, - "id": 1930, - "indexExpression": { - "id": 1929, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1913, - "src": "2763:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2748:26:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage", - "typeString": "struct GovernorCountingSimple.ProposalVote storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2712:62:5" - }, - { - "expression": { - "arguments": [ - { - "id": 1937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2793:31:5", - "subExpression": { - "baseExpression": { - "expression": { - "id": 1933, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "2794:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2807:8:5", - "memberName": "hasVoted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1795, - "src": "2794:21:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1936, - "indexExpression": { - "id": 1935, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "2816:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2794:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f72566f74696e6753696d706c653a20766f746520616c72656164792063617374", - "id": 1938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2826:41:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_52977fe78dd360b196702e8b1aa8e7d06cd560911da4c4d483548d7b2d1a38d8", - "typeString": "literal_string \"GovernorVotingSimple: vote already cast\"" - }, - "value": "GovernorVotingSimple: vote already cast" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_52977fe78dd360b196702e8b1aa8e7d06cd560911da4c4d483548d7b2d1a38d8", - "typeString": "literal_string \"GovernorVotingSimple: vote already cast\"" - } - ], - "id": 1932, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2785:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2785:83:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1940, - "nodeType": "ExpressionStatement", - "src": "2785:83:5" - }, - { - "expression": { - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 1941, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "2878:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2891:8:5", - "memberName": "hasVoted", - "nodeType": "MemberAccess", - "referencedDeclaration": 1795, - "src": "2878:21:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1945, - "indexExpression": { - "id": 1943, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "2900:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2878:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 1946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2911:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2878:37:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1948, - "nodeType": "ExpressionStatement", - "src": "2878:37:5" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1949, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "2930:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "expression": { - "id": 1952, - "name": "VoteType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "2947:8:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoteType_$1785_$", - "typeString": "type(enum GovernorCountingSimple.VoteType)" - } - }, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2956:7:5", - "memberName": "Against", - "nodeType": "MemberAccess", - "referencedDeclaration": 1782, - "src": "2947:16:5", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoteType_$1785", - "typeString": "enum GovernorCountingSimple.VoteType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_VoteType_$1785", - "typeString": "enum GovernorCountingSimple.VoteType" - } - ], - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2941:5:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 1950, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2941:5:5", - "typeDescriptions": {} - } - }, - "id": 1954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2941:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "2930:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1963, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "3036:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "expression": { - "id": 1966, - "name": "VoteType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "3053:8:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoteType_$1785_$", - "typeString": "type(enum GovernorCountingSimple.VoteType)" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3062:3:5", - "memberName": "For", - "nodeType": "MemberAccess", - "referencedDeclaration": 1783, - "src": "3053:12:5", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoteType_$1785", - "typeString": "enum GovernorCountingSimple.VoteType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_VoteType_$1785", - "typeString": "enum GovernorCountingSimple.VoteType" - } - ], - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3047:5:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 1964, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3047:5:5", - "typeDescriptions": {} - } - }, - "id": 1968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3047:19:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "3036:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1977, - "name": "support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "3134:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "expression": { - "id": 1980, - "name": "VoteType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "3151:8:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_VoteType_$1785_$", - "typeString": "type(enum GovernorCountingSimple.VoteType)" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3160:7:5", - "memberName": "Abstain", - "nodeType": "MemberAccess", - "referencedDeclaration": 1784, - "src": "3151:16:5", - "typeDescriptions": { - "typeIdentifier": "t_enum$_VoteType_$1785", - "typeString": "enum GovernorCountingSimple.VoteType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_VoteType_$1785", - "typeString": "enum GovernorCountingSimple.VoteType" - } - ], - "id": 1979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3145:5:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 1978, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3145:5:5", - "typeDescriptions": {} - } - }, - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3145:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "3134:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1995, - "nodeType": "Block", - "src": "3236:88:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "476f7665726e6f72566f74696e6753696d706c653a20696e76616c69642076616c756520666f7220656e756d20566f746554797065", - "id": 1992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3257:55:5", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c16dd4ca2a7081ef35bfb3860532c95d6b1aacddadf6f22f1058fc06b5718887", - "typeString": "literal_string \"GovernorVotingSimple: invalid value for enum VoteType\"" - }, - "value": "GovernorVotingSimple: invalid value for enum VoteType" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c16dd4ca2a7081ef35bfb3860532c95d6b1aacddadf6f22f1058fc06b5718887", - "typeString": "literal_string \"GovernorVotingSimple: invalid value for enum VoteType\"" - } - ], - "id": 1991, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "3250:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3250:63:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1994, - "nodeType": "ExpressionStatement", - "src": "3250:63:5" - } - ] - }, - "id": 1996, - "nodeType": "IfStatement", - "src": "3130:194:5", - "trueBody": { - "id": 1990, - "nodeType": "Block", - "src": "3170:60:5", - "statements": [ - { - "expression": { - "id": 1988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1984, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "3184:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3197:12:5", - "memberName": "abstainVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1791, - "src": "3184:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 1987, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "3213:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3184:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1989, - "nodeType": "ExpressionStatement", - "src": "3184:35:5" - } - ] - } - }, - "id": 1997, - "nodeType": "IfStatement", - "src": "3032:292:5", - "trueBody": { - "id": 1976, - "nodeType": "Block", - "src": "3068:56:5", - "statements": [ - { - "expression": { - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1970, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "3082:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "3095:8:5", - "memberName": "forVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1789, - "src": "3082:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 1973, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "3107:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3082:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1975, - "nodeType": "ExpressionStatement", - "src": "3082:31:5" - } - ] - } - }, - "id": 1998, - "nodeType": "IfStatement", - "src": "2926:398:5", - "trueBody": { - "id": 1962, - "nodeType": "Block", - "src": "2966:60:5", - "statements": [ - { - "expression": { - "id": 1960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 1956, - "name": "proposalVote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1927, - "src": "2980:12:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalVote_$1796_storage_ptr", - "typeString": "struct GovernorCountingSimple.ProposalVote storage pointer" - } - }, - "id": 1958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2993:12:5", - "memberName": "againstVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 1787, - "src": "2980:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 1959, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "3009:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2980:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1961, - "nodeType": "ExpressionStatement", - "src": "2980:35:5" - } - ] - } - } - ] - }, - "documentation": { - "id": 1911, - "nodeType": "StructuredDocumentation", - "src": "2384:129:5", - "text": " @dev See {Governor-_countVote}. In this module, the support follows the `VoteType` enum (from Governor Bravo)." - }, - "id": 2000, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_countVote", - "nameLocation": "2527:10:5", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1923, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2693:8:5" - }, - "parameters": { - "id": 1922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1913, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "2555:10:5", - "nodeType": "VariableDeclaration", - "scope": 2000, - "src": "2547:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2547:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1915, - "mutability": "mutable", - "name": "account", - "nameLocation": "2583:7:5", - "nodeType": "VariableDeclaration", - "scope": 2000, - "src": "2575:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2575:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1917, - "mutability": "mutable", - "name": "support", - "nameLocation": "2606:7:5", - "nodeType": "VariableDeclaration", - "scope": 2000, - "src": "2600:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1916, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2600:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1919, - "mutability": "mutable", - "name": "weight", - "nameLocation": "2631:6:5", - "nodeType": "VariableDeclaration", - "scope": 2000, - "src": "2623:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2623:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1921, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2000, - "src": "2647:12:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1920, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2647:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "2537:138:5" - }, - "returnParameters": { - "id": 1924, - "nodeType": "ParameterList", - "parameters": [], - "src": "2702:0:5" - }, - "scope": 2001, - "src": "2518:812:5", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 2002, - "src": "292:3040:5", - "usedErrors": [ - 6508 - ] - } - ], - "src": "132:3201:5" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "GovernorCountingSimple", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Governor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Extension of {Governor} for simple, 3 options, vote counting. _Available since v4.3._", - "errors": { - "Empty()": [ - { - "details": "An operation (e.g. {front}) couldn't be completed due to the queue being empty." - } - ] - }, - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "See {IGovernor-COUNTING_MODE}." - }, - "castVote(uint256,uint8)": { - "details": "See {IGovernor-castVote}." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteBySig}." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "See {IGovernor-castVoteWithReason}." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "See {IGovernor-castVoteWithReasonAndParams}." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteWithReasonAndParamsBySig}." - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-execute}." - }, - "getVotes(address,uint256)": { - "details": "See {IGovernor-getVotes}." - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "See {IGovernor-getVotesWithParams}." - }, - "hasVoted(uint256,address)": { - "details": "See {IGovernor-hasVoted}." - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts." - }, - "name()": { - "details": "See {IGovernor-name}." - }, - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "See {IERC1155Receiver-onERC1155Received}." - }, - "onERC721Received(address,address,uint256,bytes)": { - "details": "See {IERC721Receiver-onERC721Received}." - }, - "proposalDeadline(uint256)": { - "details": "See {IGovernor-proposalDeadline}." - }, - "proposalSnapshot(uint256)": { - "details": "See {IGovernor-proposalSnapshot}." - }, - "proposalThreshold()": { - "details": "Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_." - }, - "proposalVotes(uint256)": { - "details": "Accessor to the internal vote counts." - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "See {IGovernor-propose}." - }, - "quorum(uint256)": { - "details": "Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).", - "notice": "module:user-config" - }, - "relay(address,uint256,bytes)": { - "details": "Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant." - }, - "state(uint256)": { - "details": "See {IGovernor-state}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "version()": { - "details": "See {IGovernor-version}." - }, - "votingDelay()": { - "details": "Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.", - "notice": "module:user-config" - }, - "votingPeriod()": { - "details": "Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.", - "notice": "module:user-config" - } - }, - "version": 1 - }, - "offset": [ - 292, - 3332 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "2717afa19e3e49777fbe526244ca00d92b3c4110", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/extensions/GovernorCountingSimple.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\n\n/**\n * @dev Extension of {Governor} for simple, 3 options, vote counting.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorCountingSimple is Governor {\n /**\n * @dev Supported vote types. Matches Governor Bravo ordering.\n */\n enum VoteType {\n Against,\n For,\n Abstain\n }\n\n struct ProposalVote {\n uint256 againstVotes;\n uint256 forVotes;\n uint256 abstainVotes;\n mapping(address => bool) hasVoted;\n }\n\n mapping(uint256 => ProposalVote) private _proposalVotes;\n\n /**\n * @dev See {IGovernor-COUNTING_MODE}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function COUNTING_MODE() public pure virtual override returns (string memory) {\n return \"support=bravo&quorum=for,abstain\";\n }\n\n /**\n * @dev See {IGovernor-hasVoted}.\n */\n function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) {\n return _proposalVotes[proposalId].hasVoted[account];\n }\n\n /**\n * @dev Accessor to the internal vote counts.\n */\n function proposalVotes(uint256 proposalId)\n public\n view\n virtual\n returns (\n uint256 againstVotes,\n uint256 forVotes,\n uint256 abstainVotes\n )\n {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n return (proposalVote.againstVotes, proposalVote.forVotes, proposalVote.abstainVotes);\n }\n\n /**\n * @dev See {Governor-_quorumReached}.\n */\n function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n\n return quorum(proposalSnapshot(proposalId)) <= proposalVote.forVotes + proposalVote.abstainVotes;\n }\n\n /**\n * @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be strictly over the againstVotes.\n */\n function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n\n return proposalVote.forVotes > proposalVote.againstVotes;\n }\n\n /**\n * @dev See {Governor-_countVote}. In this module, the support follows the `VoteType` enum (from Governor Bravo).\n */\n function _countVote(\n uint256 proposalId,\n address account,\n uint8 support,\n uint256 weight,\n bytes memory // params\n ) internal virtual override {\n ProposalVote storage proposalVote = _proposalVotes[proposalId];\n\n require(!proposalVote.hasVoted[account], \"GovernorVotingSimple: vote already cast\");\n proposalVote.hasVoted[account] = true;\n\n if (support == uint8(VoteType.Against)) {\n proposalVote.againstVotes += weight;\n } else if (support == uint8(VoteType.For)) {\n proposalVote.forVotes += weight;\n } else if (support == uint8(VoteType.Abstain)) {\n proposalVote.abstainVotes += weight;\n } else {\n revert(\"GovernorVotingSimple: invalid value for enum VoteType\");\n }\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorCountingSimple.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorSettings.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorSettings.json deleted file mode 100644 index 23af26b1..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorSettings.json +++ /dev/null @@ -1,3188 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldProposalThreshold", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newProposalThreshold", - "type": "uint256" - } - ], - "name": "ProposalThresholdSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldVotingDelay", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVotingDelay", - "type": "uint256" - } - ], - "name": "VotingDelaySet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldVotingPeriod", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVotingPeriod", - "type": "uint256" - } - ], - "name": "VotingPeriodSet", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newProposalThreshold", - "type": "uint256" - } - ], - "name": "setProposalThreshold", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newVotingDelay", - "type": "uint256" - } - ], - "name": "setVotingDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newVotingPeriod", - "type": "uint256" - } - ], - "name": "setVotingPeriod", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "allSourcePaths": { - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "2": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "6": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorSettings.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorSettings.sol", - "exportedSymbols": { - "Address": [ - 4185 - ], - "Context": [ - 4207 - ], - "DoubleEndedQueue": [ - 6842 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC165": [ - 4960 - ], - "Governor": [ - 1775 - ], - "GovernorSettings": [ - 2179 - ], - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ], - "IERC721Receiver": [ - 3855 - ], - "IGovernor": [ - 3796 - ], - "Math": [ - 10283 - ], - "SafeCast": [ - 6501 - ], - "Strings": [ - 10470 - ], - "Timers": [ - 4421 - ] - }, - "id": 2180, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2003, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "111:23:6" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "file": "../Governor.sol", - "id": 2004, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2180, - "sourceUnit": 1776, - "src": "136:25:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 2006, - "name": "Governor", - "nameLocations": [ - "314:8:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1775, - "src": "314:8:6" - }, - "id": 2007, - "nodeType": "InheritanceSpecifier", - "src": "314:8:6" - } - ], - "canonicalName": "GovernorSettings", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2005, - "nodeType": "StructuredDocumentation", - "src": "163:112:6", - "text": " @dev Extension of {Governor} for settings updatable through governance.\n _Available since v4.4._" - }, - "fullyImplemented": false, - "id": 2179, - "linearizedBaseContracts": [ - 2179, - 1775, - 3837, - 3855, - 3796, - 4936, - 4960, - 10295, - 4207 - ], - "name": "GovernorSettings", - "nameLocation": "294:16:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2009, - "mutability": "mutable", - "name": "_votingDelay", - "nameLocation": "345:12:6", - "nodeType": "VariableDeclaration", - "scope": 2179, - "src": "329:28:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "329:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2011, - "mutability": "mutable", - "name": "_votingPeriod", - "nameLocation": "379:13:6", - "nodeType": "VariableDeclaration", - "scope": 2179, - "src": "363:29:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "363:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2013, - "mutability": "mutable", - "name": "_proposalThreshold", - "nameLocation": "414:18:6", - "nodeType": "VariableDeclaration", - "scope": 2179, - "src": "398:34:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "398:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "eventSelector": "c565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93", - "id": 2019, - "name": "VotingDelaySet", - "nameLocation": "445:14:6", - "nodeType": "EventDefinition", - "parameters": { - "id": 2018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2015, - "indexed": false, - "mutability": "mutable", - "name": "oldVotingDelay", - "nameLocation": "468:14:6", - "nodeType": "VariableDeclaration", - "scope": 2019, - "src": "460:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "460:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2017, - "indexed": false, - "mutability": "mutable", - "name": "newVotingDelay", - "nameLocation": "492:14:6", - "nodeType": "VariableDeclaration", - "scope": 2019, - "src": "484:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2016, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "484:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "459:48:6" - }, - "src": "439:69:6" - }, - { - "anonymous": false, - "eventSelector": "7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828", - "id": 2025, - "name": "VotingPeriodSet", - "nameLocation": "519:15:6", - "nodeType": "EventDefinition", - "parameters": { - "id": 2024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2021, - "indexed": false, - "mutability": "mutable", - "name": "oldVotingPeriod", - "nameLocation": "543:15:6", - "nodeType": "VariableDeclaration", - "scope": 2025, - "src": "535:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "535:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2023, - "indexed": false, - "mutability": "mutable", - "name": "newVotingPeriod", - "nameLocation": "568:15:6", - "nodeType": "VariableDeclaration", - "scope": 2025, - "src": "560:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2022, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "560:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "534:50:6" - }, - "src": "513:72:6" - }, - { - "anonymous": false, - "eventSelector": "ccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461", - "id": 2031, - "name": "ProposalThresholdSet", - "nameLocation": "596:20:6", - "nodeType": "EventDefinition", - "parameters": { - "id": 2030, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2027, - "indexed": false, - "mutability": "mutable", - "name": "oldProposalThreshold", - "nameLocation": "625:20:6", - "nodeType": "VariableDeclaration", - "scope": 2031, - "src": "617:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2026, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "617:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2029, - "indexed": false, - "mutability": "mutable", - "name": "newProposalThreshold", - "nameLocation": "655:20:6", - "nodeType": "VariableDeclaration", - "scope": 2031, - "src": "647:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "647:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "616:60:6" - }, - "src": "590:87:6" - }, - { - "body": { - "id": 2053, - "nodeType": "Block", - "src": "882:156:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2042, - "name": "initialVotingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2034, - "src": "908:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2041, - "name": "_setVotingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2139, - "src": "892:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "892:35:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2044, - "nodeType": "ExpressionStatement", - "src": "892:35:6" - }, - { - "expression": { - "arguments": [ - { - "id": 2046, - "name": "initialVotingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2036, - "src": "954:19:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2045, - "name": "_setVotingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2162, - "src": "937:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "937:37:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2048, - "nodeType": "ExpressionStatement", - "src": "937:37:6" - }, - { - "expression": { - "arguments": [ - { - "id": 2050, - "name": "initialProposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "1006:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2049, - "name": "_setProposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "984:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "984:47:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2052, - "nodeType": "ExpressionStatement", - "src": "984:47:6" - } - ] - }, - "documentation": { - "id": 2032, - "nodeType": "StructuredDocumentation", - "src": "683:61:6", - "text": " @dev Initialize the governance parameters." - }, - "id": 2054, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2039, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2034, - "mutability": "mutable", - "name": "initialVotingDelay", - "nameLocation": "778:18:6", - "nodeType": "VariableDeclaration", - "scope": 2054, - "src": "770:26:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2033, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2036, - "mutability": "mutable", - "name": "initialVotingPeriod", - "nameLocation": "814:19:6", - "nodeType": "VariableDeclaration", - "scope": 2054, - "src": "806:27:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2035, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "806:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2038, - "mutability": "mutable", - "name": "initialProposalThreshold", - "nameLocation": "851:24:6", - "nodeType": "VariableDeclaration", - "scope": 2054, - "src": "843:32:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2037, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "843:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "760:121:6" - }, - "returnParameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [], - "src": "882:0:6" - }, - "scope": 2179, - "src": "749:289:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 3643 - ], - "body": { - "id": 2063, - "nodeType": "Block", - "src": "1171:36:6", - "statements": [ - { - "expression": { - "id": 2061, - "name": "_votingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "1188:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2060, - "id": 2062, - "nodeType": "Return", - "src": "1181:19:6" - } - ] - }, - "documentation": { - "id": 2055, - "nodeType": "StructuredDocumentation", - "src": "1044:52:6", - "text": " @dev See {IGovernor-votingDelay}." - }, - "functionSelector": "3932abb1", - "id": 2064, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "votingDelay", - "nameLocation": "1110:11:6", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2057, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1144:8:6" - }, - "parameters": { - "id": 2056, - "nodeType": "ParameterList", - "parameters": [], - "src": "1121:2:6" - }, - "returnParameters": { - "id": 2060, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2059, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2064, - "src": "1162:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1162:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1161:9:6" - }, - "scope": 2179, - "src": "1101:106:6", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3649 - ], - "body": { - "id": 2073, - "nodeType": "Block", - "src": "1342:37:6", - "statements": [ - { - "expression": { - "id": 2071, - "name": "_votingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2011, - "src": "1359:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2070, - "id": 2072, - "nodeType": "Return", - "src": "1352:20:6" - } - ] - }, - "documentation": { - "id": 2065, - "nodeType": "StructuredDocumentation", - "src": "1213:53:6", - "text": " @dev See {IGovernor-votingPeriod}." - }, - "functionSelector": "02a251a3", - "id": 2074, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "votingPeriod", - "nameLocation": "1280:12:6", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2067, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1315:8:6" - }, - "parameters": { - "id": 2066, - "nodeType": "ParameterList", - "parameters": [], - "src": "1292:2:6" - }, - "returnParameters": { - "id": 2070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2069, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2074, - "src": "1333:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1333:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1332:9:6" - }, - "scope": 2179, - "src": "1271:108:6", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 836 - ], - "body": { - "id": 2083, - "nodeType": "Block", - "src": "1523:42:6", - "statements": [ - { - "expression": { - "id": 2081, - "name": "_proposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "1540:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2080, - "id": 2082, - "nodeType": "Return", - "src": "1533:25:6" - } - ] - }, - "documentation": { - "id": 2075, - "nodeType": "StructuredDocumentation", - "src": "1385:57:6", - "text": " @dev See {Governor-proposalThreshold}." - }, - "functionSelector": "b58131b0", - "id": 2084, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalThreshold", - "nameLocation": "1456:17:6", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2077, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1496:8:6" - }, - "parameters": { - "id": 2076, - "nodeType": "ParameterList", - "parameters": [], - "src": "1473:2:6" - }, - "returnParameters": { - "id": 2080, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2079, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "1514:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1514:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1513:9:6" - }, - "scope": 2179, - "src": "1447:118:6", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2096, - "nodeType": "Block", - "src": "1816:48:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2093, - "name": "newVotingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "1842:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2092, - "name": "_setVotingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2139, - "src": "1826:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1826:31:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2095, - "nodeType": "ExpressionStatement", - "src": "1826:31:6" - } - ] - }, - "documentation": { - "id": 2085, - "nodeType": "StructuredDocumentation", - "src": "1571:162:6", - "text": " @dev Update the voting delay. This operation can only be performed through a governance proposal.\n Emits a {VotingDelaySet} event." - }, - "functionSelector": "70b0f660", - "id": 2097, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2090, - "kind": "modifierInvocation", - "modifierName": { - "id": 2089, - "name": "onlyGovernance", - "nameLocations": [ - "1801:14:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 572, - "src": "1801:14:6" - }, - "nodeType": "ModifierInvocation", - "src": "1801:14:6" - } - ], - "name": "setVotingDelay", - "nameLocation": "1747:14:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2087, - "mutability": "mutable", - "name": "newVotingDelay", - "nameLocation": "1770:14:6", - "nodeType": "VariableDeclaration", - "scope": 2097, - "src": "1762:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1762:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1761:24:6" - }, - "returnParameters": { - "id": 2091, - "nodeType": "ParameterList", - "parameters": [], - "src": "1816:0:6" - }, - "scope": 2179, - "src": "1738:126:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2109, - "nodeType": "Block", - "src": "2119:50:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2106, - "name": "newVotingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "2146:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2105, - "name": "_setVotingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2162, - "src": "2129:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2129:33:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2108, - "nodeType": "ExpressionStatement", - "src": "2129:33:6" - } - ] - }, - "documentation": { - "id": 2098, - "nodeType": "StructuredDocumentation", - "src": "1870:164:6", - "text": " @dev Update the voting period. This operation can only be performed through a governance proposal.\n Emits a {VotingPeriodSet} event." - }, - "functionSelector": "ea0217cf", - "id": 2110, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2103, - "kind": "modifierInvocation", - "modifierName": { - "id": 2102, - "name": "onlyGovernance", - "nameLocations": [ - "2104:14:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 572, - "src": "2104:14:6" - }, - "nodeType": "ModifierInvocation", - "src": "2104:14:6" - } - ], - "name": "setVotingPeriod", - "nameLocation": "2048:15:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2100, - "mutability": "mutable", - "name": "newVotingPeriod", - "nameLocation": "2072:15:6", - "nodeType": "VariableDeclaration", - "scope": 2110, - "src": "2064:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2064:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2063:25:6" - }, - "returnParameters": { - "id": 2104, - "nodeType": "ParameterList", - "parameters": [], - "src": "2119:0:6" - }, - "scope": 2179, - "src": "2039:130:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2122, - "nodeType": "Block", - "src": "2444:60:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2119, - "name": "newProposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2113, - "src": "2476:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2118, - "name": "_setProposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "2454:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2454:43:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2121, - "nodeType": "ExpressionStatement", - "src": "2454:43:6" - } - ] - }, - "documentation": { - "id": 2111, - "nodeType": "StructuredDocumentation", - "src": "2175:174:6", - "text": " @dev Update the proposal threshold. This operation can only be performed through a governance proposal.\n Emits a {ProposalThresholdSet} event." - }, - "functionSelector": "ece40cc1", - "id": 2123, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2116, - "kind": "modifierInvocation", - "modifierName": { - "id": 2115, - "name": "onlyGovernance", - "nameLocations": [ - "2429:14:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 572, - "src": "2429:14:6" - }, - "nodeType": "ModifierInvocation", - "src": "2429:14:6" - } - ], - "name": "setProposalThreshold", - "nameLocation": "2363:20:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2113, - "mutability": "mutable", - "name": "newProposalThreshold", - "nameLocation": "2392:20:6", - "nodeType": "VariableDeclaration", - "scope": 2123, - "src": "2384:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2383:30:6" - }, - "returnParameters": { - "id": 2117, - "nodeType": "ParameterList", - "parameters": [], - "src": "2444:0:6" - }, - "scope": 2179, - "src": "2354:150:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2138, - "nodeType": "Block", - "src": "2688:105:6", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 2130, - "name": "_votingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "2718:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2131, - "name": "newVotingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "2732:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2129, - "name": "VotingDelaySet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2019, - "src": "2703:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2703:44:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2133, - "nodeType": "EmitStatement", - "src": "2698:49:6" - }, - { - "expression": { - "id": 2136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2134, - "name": "_votingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2009, - "src": "2757:12:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2135, - "name": "newVotingDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "2772:14:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2757:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2137, - "nodeType": "ExpressionStatement", - "src": "2757:29:6" - } - ] - }, - "documentation": { - "id": 2124, - "nodeType": "StructuredDocumentation", - "src": "2510:107:6", - "text": " @dev Internal setter for the voting delay.\n Emits a {VotingDelaySet} event." - }, - "id": 2139, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setVotingDelay", - "nameLocation": "2631:15:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2126, - "mutability": "mutable", - "name": "newVotingDelay", - "nameLocation": "2655:14:6", - "nodeType": "VariableDeclaration", - "scope": 2139, - "src": "2647:22:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2125, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2647:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2646:24:6" - }, - "returnParameters": { - "id": 2128, - "nodeType": "ParameterList", - "parameters": [], - "src": "2688:0:6" - }, - "scope": 2179, - "src": "2622:171:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 2161, - "nodeType": "Block", - "src": "2981:248:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2146, - "name": "newVotingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2142, - "src": "3056:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3074:1:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3056:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f7253657474696e67733a20766f74696e6720706572696f6420746f6f206c6f77", - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3077:41:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3f314603cb191f371d117be724372820f824fc7fbb608c5408b31620bafe9a83", - "typeString": "literal_string \"GovernorSettings: voting period too low\"" - }, - "value": "GovernorSettings: voting period too low" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3f314603cb191f371d117be724372820f824fc7fbb608c5408b31620bafe9a83", - "typeString": "literal_string \"GovernorSettings: voting period too low\"" - } - ], - "id": 2145, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3048:7:6", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3048:71:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2151, - "nodeType": "ExpressionStatement", - "src": "3048:71:6" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2153, - "name": "_votingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2011, - "src": "3150:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2154, - "name": "newVotingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2142, - "src": "3165:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2152, - "name": "VotingPeriodSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2025, - "src": "3134:15:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3134:47:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2156, - "nodeType": "EmitStatement", - "src": "3129:52:6" - }, - { - "expression": { - "id": 2159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2157, - "name": "_votingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2011, - "src": "3191:13:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2158, - "name": "newVotingPeriod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2142, - "src": "3207:15:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3191:31:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2160, - "nodeType": "ExpressionStatement", - "src": "3191:31:6" - } - ] - }, - "documentation": { - "id": 2140, - "nodeType": "StructuredDocumentation", - "src": "2799:109:6", - "text": " @dev Internal setter for the voting period.\n Emits a {VotingPeriodSet} event." - }, - "id": 2162, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setVotingPeriod", - "nameLocation": "2922:16:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2142, - "mutability": "mutable", - "name": "newVotingPeriod", - "nameLocation": "2947:15:6", - "nodeType": "VariableDeclaration", - "scope": 2162, - "src": "2939:23:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2939:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2938:25:6" - }, - "returnParameters": { - "id": 2144, - "nodeType": "ParameterList", - "parameters": [], - "src": "2981:0:6" - }, - "scope": 2179, - "src": "2913:316:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 2177, - "nodeType": "Block", - "src": "3437:135:6", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 2169, - "name": "_proposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "3473:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2170, - "name": "newProposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2165, - "src": "3493:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2168, - "name": "ProposalThresholdSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2031, - "src": "3452:20:6", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 2171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3452:62:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2172, - "nodeType": "EmitStatement", - "src": "3447:67:6" - }, - { - "expression": { - "id": 2175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2173, - "name": "_proposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2013, - "src": "3524:18:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2174, - "name": "newProposalThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2165, - "src": "3545:20:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3524:41:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2176, - "nodeType": "ExpressionStatement", - "src": "3524:41:6" - } - ] - }, - "documentation": { - "id": 2163, - "nodeType": "StructuredDocumentation", - "src": "3235:119:6", - "text": " @dev Internal setter for the proposal threshold.\n Emits a {ProposalThresholdSet} event." - }, - "id": 2178, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setProposalThreshold", - "nameLocation": "3368:21:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2165, - "mutability": "mutable", - "name": "newProposalThreshold", - "nameLocation": "3398:20:6", - "nodeType": "VariableDeclaration", - "scope": 2178, - "src": "3390:28:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3390:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3389:30:6" - }, - "returnParameters": { - "id": 2167, - "nodeType": "ParameterList", - "parameters": [], - "src": "3437:0:6" - }, - "scope": 2179, - "src": "3359:213:6", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 2180, - "src": "276:3298:6", - "usedErrors": [ - 6508 - ] - } - ], - "src": "111:3464:6" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "GovernorSettings", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Governor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Extension of {Governor} for settings updatable through governance. _Available since v4.4._", - "errors": { - "Empty()": [ - { - "details": "An operation (e.g. {front}) couldn't be completed due to the queue being empty." - } - ] - }, - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.", - "notice": "module:voting" - }, - "castVote(uint256,uint8)": { - "details": "See {IGovernor-castVote}." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteBySig}." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "See {IGovernor-castVoteWithReason}." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "See {IGovernor-castVoteWithReasonAndParams}." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteWithReasonAndParamsBySig}." - }, - "constructor": { - "details": "Initialize the governance parameters." - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-execute}." - }, - "getVotes(address,uint256)": { - "details": "See {IGovernor-getVotes}." - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "See {IGovernor-getVotesWithParams}." - }, - "hasVoted(uint256,address)": { - "details": "Returns whether `account` has cast a vote on `proposalId`.", - "notice": "module:voting" - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts." - }, - "name()": { - "details": "See {IGovernor-name}." - }, - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "See {IERC1155Receiver-onERC1155Received}." - }, - "onERC721Received(address,address,uint256,bytes)": { - "details": "See {IERC721Receiver-onERC721Received}." - }, - "proposalDeadline(uint256)": { - "details": "See {IGovernor-proposalDeadline}." - }, - "proposalSnapshot(uint256)": { - "details": "See {IGovernor-proposalSnapshot}." - }, - "proposalThreshold()": { - "details": "See {Governor-proposalThreshold}." - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "See {IGovernor-propose}." - }, - "quorum(uint256)": { - "details": "Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).", - "notice": "module:user-config" - }, - "relay(address,uint256,bytes)": { - "details": "Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant." - }, - "setProposalThreshold(uint256)": { - "details": "Update the proposal threshold. This operation can only be performed through a governance proposal. Emits a {ProposalThresholdSet} event." - }, - "setVotingDelay(uint256)": { - "details": "Update the voting delay. This operation can only be performed through a governance proposal. Emits a {VotingDelaySet} event." - }, - "setVotingPeriod(uint256)": { - "details": "Update the voting period. This operation can only be performed through a governance proposal. Emits a {VotingPeriodSet} event." - }, - "state(uint256)": { - "details": "See {IGovernor-state}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "version()": { - "details": "See {IGovernor-version}." - }, - "votingDelay()": { - "details": "See {IGovernor-votingDelay}." - }, - "votingPeriod()": { - "details": "See {IGovernor-votingPeriod}." - } - }, - "version": 1 - }, - "offset": [ - 276, - 3574 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "4ff08302aa0643ef5eb1c52e0aa6f57b7b31a829", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (governance/extensions/GovernorSettings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\n\n/**\n * @dev Extension of {Governor} for settings updatable through governance.\n *\n * _Available since v4.4._\n */\nabstract contract GovernorSettings is Governor {\n uint256 private _votingDelay;\n uint256 private _votingPeriod;\n uint256 private _proposalThreshold;\n\n event VotingDelaySet(uint256 oldVotingDelay, uint256 newVotingDelay);\n event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod);\n event ProposalThresholdSet(uint256 oldProposalThreshold, uint256 newProposalThreshold);\n\n /**\n * @dev Initialize the governance parameters.\n */\n constructor(\n uint256 initialVotingDelay,\n uint256 initialVotingPeriod,\n uint256 initialProposalThreshold\n ) {\n _setVotingDelay(initialVotingDelay);\n _setVotingPeriod(initialVotingPeriod);\n _setProposalThreshold(initialProposalThreshold);\n }\n\n /**\n * @dev See {IGovernor-votingDelay}.\n */\n function votingDelay() public view virtual override returns (uint256) {\n return _votingDelay;\n }\n\n /**\n * @dev See {IGovernor-votingPeriod}.\n */\n function votingPeriod() public view virtual override returns (uint256) {\n return _votingPeriod;\n }\n\n /**\n * @dev See {Governor-proposalThreshold}.\n */\n function proposalThreshold() public view virtual override returns (uint256) {\n return _proposalThreshold;\n }\n\n /**\n * @dev Update the voting delay. This operation can only be performed through a governance proposal.\n *\n * Emits a {VotingDelaySet} event.\n */\n function setVotingDelay(uint256 newVotingDelay) public virtual onlyGovernance {\n _setVotingDelay(newVotingDelay);\n }\n\n /**\n * @dev Update the voting period. This operation can only be performed through a governance proposal.\n *\n * Emits a {VotingPeriodSet} event.\n */\n function setVotingPeriod(uint256 newVotingPeriod) public virtual onlyGovernance {\n _setVotingPeriod(newVotingPeriod);\n }\n\n /**\n * @dev Update the proposal threshold. This operation can only be performed through a governance proposal.\n *\n * Emits a {ProposalThresholdSet} event.\n */\n function setProposalThreshold(uint256 newProposalThreshold) public virtual onlyGovernance {\n _setProposalThreshold(newProposalThreshold);\n }\n\n /**\n * @dev Internal setter for the voting delay.\n *\n * Emits a {VotingDelaySet} event.\n */\n function _setVotingDelay(uint256 newVotingDelay) internal virtual {\n emit VotingDelaySet(_votingDelay, newVotingDelay);\n _votingDelay = newVotingDelay;\n }\n\n /**\n * @dev Internal setter for the voting period.\n *\n * Emits a {VotingPeriodSet} event.\n */\n function _setVotingPeriod(uint256 newVotingPeriod) internal virtual {\n // voting period must be at least one block long\n require(newVotingPeriod > 0, \"GovernorSettings: voting period too low\");\n emit VotingPeriodSet(_votingPeriod, newVotingPeriod);\n _votingPeriod = newVotingPeriod;\n }\n\n /**\n * @dev Internal setter for the proposal threshold.\n *\n * Emits a {ProposalThresholdSet} event.\n */\n function _setProposalThreshold(uint256 newProposalThreshold) internal virtual {\n emit ProposalThresholdSet(_proposalThreshold, newProposalThreshold);\n _proposalThreshold = newProposalThreshold;\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorSettings.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorTimelockControl.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorTimelockControl.json deleted file mode 100644 index 92de946a..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorTimelockControl.json +++ /dev/null @@ -1,5883 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "eta", - "type": "uint256" - } - ], - "name": "ProposalQueued", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldTimelock", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newTimelock", - "type": "address" - } - ], - "name": "TimelockChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalEta", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "queue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timelock", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract TimelockController", - "name": "newTimelock", - "type": "address" - } - ], - "name": "updateTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "allSourcePaths": { - "0": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/AccessControl.sol", - "1": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/IAccessControl.sol", - "10": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/IGovernorTimelock.sol", - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "2": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "4": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/TimelockController.sol", - "7": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorTimelockControl.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorTimelockControl.sol", - "exportedSymbols": { - "AccessControl": [ - 10786 - ], - "Address": [ - 4185 - ], - "Context": [ - 4207 - ], - "DoubleEndedQueue": [ - 6842 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC165": [ - 4960 - ], - "Governor": [ - 1775 - ], - "GovernorTimelockControl": [ - 2556 - ], - "IAccessControl": [ - 11556 - ], - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ], - "IERC721Receiver": [ - 3855 - ], - "IGovernor": [ - 3796 - ], - "IGovernorTimelock": [ - 7797 - ], - "Math": [ - 10283 - ], - "SafeCast": [ - 6501 - ], - "Strings": [ - 10470 - ], - "TimelockController": [ - 7756 - ], - "Timers": [ - 4421 - ] - }, - "id": 2557, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2181, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "133:23:7" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/IGovernorTimelock.sol", - "file": "./IGovernorTimelock.sol", - "id": 2182, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2557, - "sourceUnit": 7798, - "src": "158:33:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "file": "../Governor.sol", - "id": 2183, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2557, - "sourceUnit": 1776, - "src": "192:25:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/TimelockController.sol", - "file": "../TimelockController.sol", - "id": 2184, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2557, - "sourceUnit": 7757, - "src": "218:35:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 2186, - "name": "IGovernorTimelock", - "nameLocations": [ - "1370:17:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7797, - "src": "1370:17:7" - }, - "id": 2187, - "nodeType": "InheritanceSpecifier", - "src": "1370:17:7" - }, - { - "baseName": { - "id": 2188, - "name": "Governor", - "nameLocations": [ - "1389:8:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1775, - "src": "1389:8:7" - }, - "id": 2189, - "nodeType": "InheritanceSpecifier", - "src": "1389:8:7" - } - ], - "canonicalName": "GovernorTimelockControl", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2185, - "nodeType": "StructuredDocumentation", - "src": "255:1069:7", - "text": " @dev Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a\n delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The\n {Governor} needs the proposer (and ideally the executor) roles for the {Governor} to work properly.\n Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus,\n the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be\n inaccessible.\n WARNING: Setting up the TimelockController to have additional proposers besides the governor is very risky, as it\n grants them powers that they must be trusted or known not to use: 1) {onlyGovernance} functions like {relay} are\n available to them through the timelock, and 2) approved governance proposals can be blocked by them, effectively\n executing a Denial of Service attack. This risk will be mitigated in a future release.\n _Available since v4.3._" - }, - "fullyImplemented": false, - "id": 2556, - "linearizedBaseContracts": [ - 2556, - 1775, - 3837, - 3855, - 7797, - 3796, - 4936, - 4960, - 10295, - 4207 - ], - "name": "GovernorTimelockControl", - "nameLocation": "1343:23:7", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 2192, - "mutability": "mutable", - "name": "_timelock", - "nameLocation": "1431:9:7", - "nodeType": "VariableDeclaration", - "scope": 2556, - "src": "1404:36:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - }, - "typeName": { - "id": 2191, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2190, - "name": "TimelockController", - "nameLocations": [ - "1404:18:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7756, - "src": "1404:18:7" - }, - "referencedDeclaration": 7756, - "src": "1404:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2196, - "mutability": "mutable", - "name": "_timelockIds", - "nameLocation": "1482:12:7", - "nodeType": "VariableDeclaration", - "scope": 2556, - "src": "1446:48:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - }, - "typeName": { - "id": 2195, - "keyType": { - "id": 2193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1454:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1446:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - }, - "valueType": { - "id": 2194, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1465:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": { - "id": 2197, - "nodeType": "StructuredDocumentation", - "src": "1501:101:7", - "text": " @dev Emitted when the timelock controller used for proposal execution is modified." - }, - "eventSelector": "08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401", - "id": 2203, - "name": "TimelockChange", - "nameLocation": "1613:14:7", - "nodeType": "EventDefinition", - "parameters": { - "id": 2202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2199, - "indexed": false, - "mutability": "mutable", - "name": "oldTimelock", - "nameLocation": "1636:11:7", - "nodeType": "VariableDeclaration", - "scope": 2203, - "src": "1628:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1628:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2201, - "indexed": false, - "mutability": "mutable", - "name": "newTimelock", - "nameLocation": "1657:11:7", - "nodeType": "VariableDeclaration", - "scope": 2203, - "src": "1649:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1649:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1627:42:7" - }, - "src": "1607:63:7" - }, - { - "body": { - "id": 2214, - "nodeType": "Block", - "src": "1770:49:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2211, - "name": "timelockAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2207, - "src": "1796:15:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 2210, - "name": "_updateTimelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2555, - "src": "1780:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_TimelockController_$7756_$returns$__$", - "typeString": "function (contract TimelockController)" - } - }, - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1780:32:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2213, - "nodeType": "ExpressionStatement", - "src": "1780:32:7" - } - ] - }, - "documentation": { - "id": 2204, - "nodeType": "StructuredDocumentation", - "src": "1676:41:7", - "text": " @dev Set the timelock." - }, - "id": 2215, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2207, - "mutability": "mutable", - "name": "timelockAddress", - "nameLocation": "1753:15:7", - "nodeType": "VariableDeclaration", - "scope": 2215, - "src": "1734:34:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - }, - "typeName": { - "id": 2206, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2205, - "name": "TimelockController", - "nameLocations": [ - "1734:18:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7756, - "src": "1734:18:7" - }, - "referencedDeclaration": 7756, - "src": "1734:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "visibility": "internal" - } - ], - "src": "1733:36:7" - }, - "returnParameters": { - "id": 2209, - "nodeType": "ParameterList", - "parameters": [], - "src": "1770:0:7" - }, - "scope": 2556, - "src": "1722:97:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 654, - 10294 - ], - "body": { - "id": 2238, - "nodeType": "Block", - "src": "1996:114:7", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 2231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2226, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "2013:11:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 2228, - "name": "IGovernorTimelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7797, - "src": "2033:17:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IGovernorTimelock_$7797_$", - "typeString": "type(contract IGovernorTimelock)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IGovernorTimelock_$7797_$", - "typeString": "type(contract IGovernorTimelock)" - } - ], - "id": 2227, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "2028:4:7", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2028:23:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IGovernorTimelock_$7797", - "typeString": "type(contract IGovernorTimelock)" - } - }, - "id": 2230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2052:11:7", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "2028:35:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "2013:50:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 2234, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "2091:11:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 2232, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2067:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_GovernorTimelockControl_$2556_$", - "typeString": "type(contract super GovernorTimelockControl)" - } - }, - "id": 2233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2073:17:7", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 654, - "src": "2067:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2067:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2013:90:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2225, - "id": 2237, - "nodeType": "Return", - "src": "2006:97:7" - } - ] - }, - "documentation": { - "id": 2216, - "nodeType": "StructuredDocumentation", - "src": "1825:56:7", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 2239, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "1895:17:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2222, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2220, - "name": "IERC165", - "nameLocations": [ - "1962:7:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10295, - "src": "1962:7:7" - }, - { - "id": 2221, - "name": "Governor", - "nameLocations": [ - "1971:8:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1775, - "src": "1971:8:7" - } - ], - "src": "1953:27:7" - }, - "parameters": { - "id": 2219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2218, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "1920:11:7", - "nodeType": "VariableDeclaration", - "scope": 2239, - "src": "1913:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2217, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1913:6:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1912:20:7" - }, - "returnParameters": { - "id": 2225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2224, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2239, - "src": "1990:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2223, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1990:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1989:6:7" - }, - "scope": 2556, - "src": "1886:224:7", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 793, - 3621 - ], - "body": { - "id": 2305, - "nodeType": "Block", - "src": "2349:638:7", - "statements": [ - { - "assignments": [ - 2253 - ], - "declarations": [ - { - "constant": false, - "id": 2253, - "mutability": "mutable", - "name": "status", - "nameLocation": "2373:6:7", - "nodeType": "VariableDeclaration", - "scope": 2305, - "src": "2359:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "typeName": { - "id": 2252, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2251, - "name": "ProposalState", - "nameLocations": [ - "2359:13:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3514, - "src": "2359:13:7" - }, - "referencedDeclaration": 3514, - "src": "2359:13:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "visibility": "internal" - } - ], - "id": 2258, - "initialValue": { - "arguments": [ - { - "id": 2256, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "2394:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2254, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2382:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_GovernorTimelockControl_$2556_$", - "typeString": "type(contract super GovernorTimelockControl)" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2388:5:7", - "memberName": "state", - "nodeType": "MemberAccess", - "referencedDeclaration": 793, - "src": "2382:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$3514_$", - "typeString": "function (uint256) view returns (enum IGovernor.ProposalState)" - } - }, - "id": 2257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2382:23:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2359:46:7" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 2262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2259, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2253, - "src": "2420:6:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 2260, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "2430:13:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2444:9:7", - "memberName": "Succeeded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3510, - "src": "2430:23:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "2420:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2266, - "nodeType": "IfStatement", - "src": "2416:77:7", - "trueBody": { - "id": 2265, - "nodeType": "Block", - "src": "2455:38:7", - "statements": [ - { - "expression": { - "id": 2263, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2253, - "src": "2476:6:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 2250, - "id": 2264, - "nodeType": "Return", - "src": "2469:13:7" - } - ] - } - }, - { - "assignments": [ - 2268 - ], - "declarations": [ - { - "constant": false, - "id": 2268, - "mutability": "mutable", - "name": "queueid", - "nameLocation": "2611:7:7", - "nodeType": "VariableDeclaration", - "scope": 2305, - "src": "2603:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2267, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2603:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2272, - "initialValue": { - "baseExpression": { - "id": 2269, - "name": "_timelockIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "2621:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 2271, - "indexExpression": { - "id": 2270, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2242, - "src": "2634:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2621:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2603:42:7" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 2278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2273, - "name": "queueid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "2659:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2678:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2670:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2274, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2670:7:7", - "typeDescriptions": {} - } - }, - "id": 2277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2670:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2659:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "arguments": [ - { - "id": 2284, - "name": "queueid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "2756:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2282, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "2730:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2740:15:7", - "memberName": "isOperationDone", - "nodeType": "MemberAccess", - "referencedDeclaration": 7162, - "src": "2730:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view external returns (bool)" - } - }, - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2730:34:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "arguments": [ - { - "id": 2292, - "name": "queueid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2268, - "src": "2859:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2290, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "2830:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2840:18:7", - "memberName": "isOperationPending", - "nodeType": "MemberAccess", - "referencedDeclaration": 7123, - "src": "2830:28:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view external returns (bool)" - } - }, - "id": 2293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2830:37:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2301, - "nodeType": "Block", - "src": "2927:54:7", - "statements": [ - { - "expression": { - "expression": { - "id": 2298, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "2948:13:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 2299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2962:8:7", - "memberName": "Canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 3508, - "src": "2948:22:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 2250, - "id": 2300, - "nodeType": "Return", - "src": "2941:29:7" - } - ] - }, - "id": 2302, - "nodeType": "IfStatement", - "src": "2826:155:7", - "trueBody": { - "id": 2297, - "nodeType": "Block", - "src": "2869:52:7", - "statements": [ - { - "expression": { - "expression": { - "id": 2294, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "2890:13:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 2295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2904:6:7", - "memberName": "Queued", - "nodeType": "MemberAccess", - "referencedDeclaration": 3511, - "src": "2890:20:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 2250, - "id": 2296, - "nodeType": "Return", - "src": "2883:27:7" - } - ] - } - }, - "id": 2303, - "nodeType": "IfStatement", - "src": "2726:255:7", - "trueBody": { - "id": 2289, - "nodeType": "Block", - "src": "2766:54:7", - "statements": [ - { - "expression": { - "expression": { - "id": 2286, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "2787:13:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 2287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2801:8:7", - "memberName": "Executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 3513, - "src": "2787:22:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 2250, - "id": 2288, - "nodeType": "Return", - "src": "2780:29:7" - } - ] - } - }, - "id": 2304, - "nodeType": "IfStatement", - "src": "2655:326:7", - "trueBody": { - "id": 2281, - "nodeType": "Block", - "src": "2682:38:7", - "statements": [ - { - "expression": { - "id": 2279, - "name": "status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2253, - "src": "2703:6:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "functionReturnParameters": 2250, - "id": 2280, - "nodeType": "Return", - "src": "2696:13:7" - } - ] - } - } - ] - }, - "documentation": { - "id": 2240, - "nodeType": "StructuredDocumentation", - "src": "2116:119:7", - "text": " @dev Overridden version of the {Governor-state} function with added support for the `Queued` status." - }, - "functionSelector": "3e4f49e6", - "id": 2306, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "state", - "nameLocation": "2249:5:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2246, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2244, - "name": "IGovernor", - "nameLocations": [ - "2304:9:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3796, - "src": "2304:9:7" - }, - { - "id": 2245, - "name": "Governor", - "nameLocations": [ - "2315:8:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1775, - "src": "2315:8:7" - } - ], - "src": "2295:29:7" - }, - "parameters": { - "id": 2243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2242, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "2263:10:7", - "nodeType": "VariableDeclaration", - "scope": 2306, - "src": "2255:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2255:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2254:20:7" - }, - "returnParameters": { - "id": 2250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2249, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2306, - "src": "2334:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "typeName": { - "id": 2248, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2247, - "name": "ProposalState", - "nameLocations": [ - "2334:13:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3514, - "src": "2334:13:7" - }, - "referencedDeclaration": 3514, - "src": "2334:13:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "visibility": "internal" - } - ], - "src": "2333:15:7" - }, - "scope": 2556, - "src": "2240:747:7", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7773 - ], - "body": { - "id": 2318, - "nodeType": "Block", - "src": "3141:42:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2315, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "3166:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 2314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3158:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2313, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3158:7:7", - "typeDescriptions": {} - } - }, - "id": 2316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3158:18:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 2312, - "id": 2317, - "nodeType": "Return", - "src": "3151:25:7" - } - ] - }, - "documentation": { - "id": 2307, - "nodeType": "StructuredDocumentation", - "src": "2993:76:7", - "text": " @dev Public accessor to check the address of the timelock" - }, - "functionSelector": "d33219b4", - "id": 2319, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "timelock", - "nameLocation": "3083:8:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2309, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3114:8:7" - }, - "parameters": { - "id": 2308, - "nodeType": "ParameterList", - "parameters": [], - "src": "3091:2:7" - }, - "returnParameters": { - "id": 2312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2311, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2319, - "src": "3132:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3132:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3131:9:7" - }, - "scope": 2556, - "src": "3074:109:7", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7780 - ], - "body": { - "id": 2344, - "nodeType": "Block", - "src": "3359:171:7", - "statements": [ - { - "assignments": [ - 2329 - ], - "declarations": [ - { - "constant": false, - "id": 2329, - "mutability": "mutable", - "name": "eta", - "nameLocation": "3377:3:7", - "nodeType": "VariableDeclaration", - "scope": 2344, - "src": "3369:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3369:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2336, - "initialValue": { - "arguments": [ - { - "baseExpression": { - "id": 2332, - "name": "_timelockIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "3406:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 2334, - "indexExpression": { - "id": 2333, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2322, - "src": "3419:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3406:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2330, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "3383:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3393:12:7", - "memberName": "getTimestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 7175, - "src": "3383:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view external returns (uint256)" - } - }, - "id": 2335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3383:48:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3369:62:7" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2337, - "name": "eta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "3448:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "31", - "id": 2338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3455:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3448:8:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 2341, - "name": "eta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "3463:3:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3448:18:7", - "trueExpression": { - "hexValue": "30", - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3459:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2327, - "id": 2343, - "nodeType": "Return", - "src": "3441:25:7" - } - ] - }, - "documentation": { - "id": 2320, - "nodeType": "StructuredDocumentation", - "src": "3189:77:7", - "text": " @dev Public accessor to check the eta of a queued proposal" - }, - "functionSelector": "ab58fb8e", - "id": 2345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalEta", - "nameLocation": "3280:11:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2324, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3332:8:7" - }, - "parameters": { - "id": 2323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2322, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "3300:10:7", - "nodeType": "VariableDeclaration", - "scope": 2345, - "src": "3292:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3291:20:7" - }, - "returnParameters": { - "id": 2327, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2326, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2345, - "src": "3350:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3350:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3349:9:7" - }, - "scope": 2556, - "src": "3271:259:7", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 7796 - ], - "body": { - "id": 2422, - "nodeType": "Block", - "src": "3807:542:7", - "statements": [ - { - "assignments": [ - 2364 - ], - "declarations": [ - { - "constant": false, - "id": 2364, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "3825:10:7", - "nodeType": "VariableDeclaration", - "scope": 2422, - "src": "3817:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3817:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2371, - "initialValue": { - "arguments": [ - { - "id": 2366, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "3851:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 2367, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2352, - "src": "3860:6:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 2368, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2355, - "src": "3868:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 2369, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2357, - "src": "3879:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2365, - "name": "hashProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 706 - ], - "referencedDeclaration": 706, - "src": "3838:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) pure returns (uint256)" - } - }, - "id": 2370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3838:57:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3817:78:7" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "id": 2378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2374, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2364, - "src": "3920:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2373, - "name": "state", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2306 - ], - "referencedDeclaration": 2306, - "src": "3914:5:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_enum$_ProposalState_$3514_$", - "typeString": "function (uint256) view returns (enum IGovernor.ProposalState)" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3914:17:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2376, - "name": "ProposalState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3514, - "src": "3935:13:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalState_$3514_$", - "typeString": "type(enum IGovernor.ProposalState)" - } - }, - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3949:9:7", - "memberName": "Succeeded", - "nodeType": "MemberAccess", - "referencedDeclaration": 3510, - "src": "3935:23:7", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "src": "3914:44:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756c", - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3960:35:7", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9", - "typeString": "literal_string \"Governor: proposal not successful\"" - }, - "value": "Governor: proposal not successful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a608627370ddd238e48feab42026732822e64969fe5a8155723eaa5f397576d9", - "typeString": "literal_string \"Governor: proposal not successful\"" - } - ], - "id": 2372, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3906:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3906:90:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2381, - "nodeType": "ExpressionStatement", - "src": "3906:90:7" - }, - { - "assignments": [ - 2383 - ], - "declarations": [ - { - "constant": false, - "id": 2383, - "mutability": "mutable", - "name": "delay", - "nameLocation": "4015:5:7", - "nodeType": "VariableDeclaration", - "scope": 2422, - "src": "4007:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2387, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2384, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "4023:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4033:11:7", - "memberName": "getMinDelay", - "nodeType": "MemberAccess", - "referencedDeclaration": 7184, - "src": "4023:21:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 2386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4023:23:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4007:39:7" - }, - { - "expression": { - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 2388, - "name": "_timelockIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "4056:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 2390, - "indexExpression": { - "id": 2389, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2364, - "src": "4069:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4056:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2393, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "4112:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 2394, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2352, - "src": "4121:6:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 2395, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2355, - "src": "4129:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "hexValue": "30", - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4140:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 2397, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2357, - "src": "4143:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2391, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "4083:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4093:18:7", - "memberName": "hashOperationBatch", - "nodeType": "MemberAccess", - "referencedDeclaration": 7243, - "src": "4083:28:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) pure external returns (bytes32)" - } - }, - "id": 2398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4083:76:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "4056:103:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 2400, - "nodeType": "ExpressionStatement", - "src": "4056:103:7" - }, - { - "expression": { - "arguments": [ - { - "id": 2404, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "4193:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 2405, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2352, - "src": "4202:6:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 2406, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2355, - "src": "4210:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "hexValue": "30", - "id": 2407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4221:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 2408, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2357, - "src": "4224:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2409, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2383, - "src": "4241:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2401, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "4169:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4179:13:7", - "memberName": "scheduleBatch", - "nodeType": "MemberAccess", - "referencedDeclaration": 7373, - "src": "4169:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32,uint256) external" - } - }, - "id": 2410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4169:78:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2411, - "nodeType": "ExpressionStatement", - "src": "4169:78:7" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2413, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2364, - "src": "4278:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2414, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4290:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4296:9:7", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "4290:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 2416, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2383, - "src": "4308:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4290:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2412, - "name": "ProposalQueued", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7768, - "src": "4263:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4263:51:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2419, - "nodeType": "EmitStatement", - "src": "4258:56:7" - }, - { - "expression": { - "id": 2420, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2364, - "src": "4332:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2362, - "id": 2421, - "nodeType": "Return", - "src": "4325:17:7" - } - ] - }, - "documentation": { - "id": 2346, - "nodeType": "StructuredDocumentation", - "src": "3536:69:7", - "text": " @dev Function to queue a proposal to the timelock." - }, - "functionSelector": "160cbed7", - "id": 2423, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "queue", - "nameLocation": "3619:5:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2359, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3780:8:7" - }, - "parameters": { - "id": 2358, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2349, - "mutability": "mutable", - "name": "targets", - "nameLocation": "3651:7:7", - "nodeType": "VariableDeclaration", - "scope": 2423, - "src": "3634:24:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2347, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3634:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2348, - "nodeType": "ArrayTypeName", - "src": "3634:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2352, - "mutability": "mutable", - "name": "values", - "nameLocation": "3685:6:7", - "nodeType": "VariableDeclaration", - "scope": 2423, - "src": "3668:23:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3668:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2351, - "nodeType": "ArrayTypeName", - "src": "3668:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2355, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "3716:9:7", - "nodeType": "VariableDeclaration", - "scope": 2423, - "src": "3701:24:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 2353, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3701:5:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 2354, - "nodeType": "ArrayTypeName", - "src": "3701:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2357, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "3743:15:7", - "nodeType": "VariableDeclaration", - "scope": 2423, - "src": "3735:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2356, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3735:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3624:140:7" - }, - "returnParameters": { - "id": 2362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2361, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2423, - "src": "3798:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3798:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3797:9:7" - }, - "scope": 2556, - "src": "3610:739:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 1178 - ], - "body": { - "id": 2454, - "nodeType": "Block", - "src": "4688:105:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2447, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2429, - "src": "4739:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 2448, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2432, - "src": "4748:6:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 2449, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "4756:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "hexValue": "30", - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4767:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 2451, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2437, - "src": "4770:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2441, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "4698:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4708:12:7", - "memberName": "executeBatch", - "nodeType": "MemberAccess", - "referencedDeclaration": 7587, - "src": "4698:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external" - } - }, - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "expression": { - "id": 2444, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4728:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4732:5:7", - "memberName": "value", - "nodeType": "MemberAccess", - "src": "4728:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "4698:40:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$__$value", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32,bytes32) payable external" - } - }, - "id": 2452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4698:88:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2453, - "nodeType": "ExpressionStatement", - "src": "4698:88:7" - } - ] - }, - "documentation": { - "id": 2424, - "nodeType": "StructuredDocumentation", - "src": "4355:110:7", - "text": " @dev Overridden execute function that run the already queued proposal through the timelock." - }, - "id": 2455, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_execute", - "nameLocation": "4479:8:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2439, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4679:8:7" - }, - "parameters": { - "id": 2438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2426, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2455, - "src": "4497:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4497:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2429, - "mutability": "mutable", - "name": "targets", - "nameLocation": "4548:7:7", - "nodeType": "VariableDeclaration", - "scope": 2455, - "src": "4531:24:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2427, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4531:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2428, - "nodeType": "ArrayTypeName", - "src": "4531:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2432, - "mutability": "mutable", - "name": "values", - "nameLocation": "4582:6:7", - "nodeType": "VariableDeclaration", - "scope": 2455, - "src": "4565:23:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2430, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4565:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2431, - "nodeType": "ArrayTypeName", - "src": "4565:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2435, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "4613:9:7", - "nodeType": "VariableDeclaration", - "scope": 2455, - "src": "4598:24:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 2433, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4598:5:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 2434, - "nodeType": "ArrayTypeName", - "src": "4598:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2437, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "4640:15:7", - "nodeType": "VariableDeclaration", - "scope": 2455, - "src": "4632:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2436, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4632:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4487:174:7" - }, - "returnParameters": { - "id": 2440, - "nodeType": "ParameterList", - "parameters": [], - "src": "4688:0:7" - }, - "scope": 2556, - "src": "4470:323:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 1341 - ], - "body": { - "id": 2505, - "nodeType": "Block", - "src": "5402:281:7", - "statements": [ - { - "assignments": [ - 2474 - ], - "declarations": [ - { - "constant": false, - "id": 2474, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "5420:10:7", - "nodeType": "VariableDeclaration", - "scope": 2505, - "src": "5412:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5412:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2482, - "initialValue": { - "arguments": [ - { - "id": 2477, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2459, - "src": "5447:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 2478, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2462, - "src": "5456:6:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "id": 2479, - "name": "calldatas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2465, - "src": "5464:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - { - "id": 2480, - "name": "descriptionHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2467, - "src": "5475:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2475, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "5433:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_GovernorTimelockControl_$2556_$", - "typeString": "type(contract super GovernorTimelockControl)" - } - }, - "id": 2476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5439:7:7", - "memberName": "_cancel", - "nodeType": "MemberAccess", - "referencedDeclaration": 1341, - "src": "5433:13:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (address[] memory,uint256[] memory,bytes memory[] memory,bytes32) returns (uint256)" - } - }, - "id": 2481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5433:58:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5412:79:7" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 2487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 2483, - "name": "_timelockIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "5506:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 2485, - "indexExpression": { - "id": 2484, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2474, - "src": "5519:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5506:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 2486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5534:1:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5506:29:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2502, - "nodeType": "IfStatement", - "src": "5502:147:7", - "trueBody": { - "id": 2501, - "nodeType": "Block", - "src": "5537:112:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 2491, - "name": "_timelockIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "5568:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 2493, - "indexExpression": { - "id": 2492, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2474, - "src": "5581:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5568:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2488, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "5551:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5561:6:7", - "memberName": "cancel", - "nodeType": "MemberAccess", - "referencedDeclaration": 7433, - "src": "5551:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) external" - } - }, - "id": 2494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5551:42:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2495, - "nodeType": "ExpressionStatement", - "src": "5551:42:7" - }, - { - "expression": { - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "5607:31:7", - "subExpression": { - "baseExpression": { - "id": 2496, - "name": "_timelockIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "5614:12:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 2498, - "indexExpression": { - "id": 2497, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2474, - "src": "5627:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5614:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2500, - "nodeType": "ExpressionStatement", - "src": "5607:31:7" - } - ] - } - }, - { - "expression": { - "id": 2503, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2474, - "src": "5666:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2472, - "id": 2504, - "nodeType": "Return", - "src": "5659:17:7" - } - ] - }, - "documentation": { - "id": 2456, - "nodeType": "StructuredDocumentation", - "src": "4799:148:7", - "text": " @dev Overridden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already\n been queued." - }, - "id": 2506, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_cancel", - "nameLocation": "5210:7:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2469, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5375:8:7" - }, - "parameters": { - "id": 2468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2459, - "mutability": "mutable", - "name": "targets", - "nameLocation": "5244:7:7", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "5227:24:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5227:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2458, - "nodeType": "ArrayTypeName", - "src": "5227:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2462, - "mutability": "mutable", - "name": "values", - "nameLocation": "5278:6:7", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "5261:23:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5261:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2461, - "nodeType": "ArrayTypeName", - "src": "5261:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2465, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "5309:9:7", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "5294:24:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 2463, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5294:5:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 2464, - "nodeType": "ArrayTypeName", - "src": "5294:7:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2467, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "5336:15:7", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "5328:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2466, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5328:7:7", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5217:140:7" - }, - "returnParameters": { - "id": 2472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2471, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2506, - "src": "5393:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5393:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5392:9:7" - }, - "scope": 2556, - "src": "5201:482:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "baseFunctions": [ - 1708 - ], - "body": { - "id": 2518, - "nodeType": "Block", - "src": "5867:42:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2515, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "5892:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5884:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2513, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5884:7:7", - "typeDescriptions": {} - } - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5884:18:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 2512, - "id": 2517, - "nodeType": "Return", - "src": "5877:25:7" - } - ] - }, - "documentation": { - "id": 2507, - "nodeType": "StructuredDocumentation", - "src": "5689:103:7", - "text": " @dev Address through which the governor executes action. In this case, the timelock." - }, - "id": 2519, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_executor", - "nameLocation": "5806:9:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2509, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5840:8:7" - }, - "parameters": { - "id": 2508, - "nodeType": "ParameterList", - "parameters": [], - "src": "5815:2:7" - }, - "returnParameters": { - "id": 2512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2511, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2519, - "src": "5858:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5858:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5857:9:7" - }, - "scope": 2556, - "src": "5797:112:7", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 2532, - "nodeType": "Block", - "src": "6335:45:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2529, - "name": "newTimelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2523, - "src": "6361:11:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 2528, - "name": "_updateTimelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2555, - "src": "6345:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_TimelockController_$7756_$returns$__$", - "typeString": "function (contract TimelockController)" - } - }, - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6345:28:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2531, - "nodeType": "ExpressionStatement", - "src": "6345:28:7" - } - ] - }, - "documentation": { - "id": 2520, - "nodeType": "StructuredDocumentation", - "src": "5915:327:7", - "text": " @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n must be proposed, scheduled, and executed through governance proposals.\n CAUTION: It is not recommended to change the timelock while there are other queued governance proposals." - }, - "functionSelector": "a890c910", - "id": 2533, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2526, - "kind": "modifierInvocation", - "modifierName": { - "id": 2525, - "name": "onlyGovernance", - "nameLocations": [ - "6320:14:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 572, - "src": "6320:14:7" - }, - "nodeType": "ModifierInvocation", - "src": "6320:14:7" - } - ], - "name": "updateTimelock", - "nameLocation": "6256:14:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2524, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2523, - "mutability": "mutable", - "name": "newTimelock", - "nameLocation": "6290:11:7", - "nodeType": "VariableDeclaration", - "scope": 2533, - "src": "6271:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - }, - "typeName": { - "id": 2522, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2521, - "name": "TimelockController", - "nameLocations": [ - "6271:18:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7756, - "src": "6271:18:7" - }, - "referencedDeclaration": 7756, - "src": "6271:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "visibility": "internal" - } - ], - "src": "6270:32:7" - }, - "returnParameters": { - "id": 2527, - "nodeType": "ParameterList", - "parameters": [], - "src": "6335:0:7" - }, - "scope": 2556, - "src": "6247:133:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "body": { - "id": 2554, - "nodeType": "Block", - "src": "6451:111:7", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 2542, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "6489:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 2541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6481:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2540, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6481:7:7", - "typeDescriptions": {} - } - }, - "id": 2543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6481:18:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 2546, - "name": "newTimelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2536, - "src": "6509:11:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 2545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6501:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6501:7:7", - "typeDescriptions": {} - } - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6501:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2539, - "name": "TimelockChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2203, - "src": "6466:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6466:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2549, - "nodeType": "EmitStatement", - "src": "6461:61:7" - }, - { - "expression": { - "id": 2552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2550, - "name": "_timelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "6532:9:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2551, - "name": "newTimelock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2536, - "src": "6544:11:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "src": "6532:23:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 2553, - "nodeType": "ExpressionStatement", - "src": "6532:23:7" - } - ] - }, - "id": 2555, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_updateTimelock", - "nameLocation": "6395:15:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2536, - "mutability": "mutable", - "name": "newTimelock", - "nameLocation": "6430:11:7", - "nodeType": "VariableDeclaration", - "scope": 2555, - "src": "6411:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - }, - "typeName": { - "id": 2535, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2534, - "name": "TimelockController", - "nameLocations": [ - "6411:18:7" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7756, - "src": "6411:18:7" - }, - "referencedDeclaration": 7756, - "src": "6411:18:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "visibility": "internal" - } - ], - "src": "6410:32:7" - }, - "returnParameters": { - "id": 2538, - "nodeType": "ParameterList", - "parameters": [], - "src": "6451:0:7" - }, - "scope": 2556, - "src": "6386:176:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - } - ], - "scope": 2557, - "src": "1325:5239:7", - "usedErrors": [ - 6508 - ] - } - ], - "src": "133:6432:7" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "GovernorTimelockControl", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/AccessControl", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Governor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IAccessControl", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernorTimelock", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Strings", - "OpenZeppelin/openzeppelin-contracts@4.8.1/TimelockController" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The {Governor} needs the proposer (and ideally the executor) roles for the {Governor} to work properly. Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus, the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be inaccessible. WARNING: Setting up the TimelockController to have additional proposers besides the governor is very risky, as it grants them powers that they must be trusted or known not to use: 1) {onlyGovernance} functions like {relay} are available to them through the timelock, and 2) approved governance proposals can be blocked by them, effectively executing a Denial of Service attack. This risk will be mitigated in a future release. _Available since v4.3._", - "errors": { - "Empty()": [ - { - "details": "An operation (e.g. {front}) couldn't be completed due to the queue being empty." - } - ] - }, - "events": { - "TimelockChange(address,address)": { - "details": "Emitted when the timelock controller used for proposal execution is modified." - } - }, - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.", - "notice": "module:voting" - }, - "castVote(uint256,uint8)": { - "details": "See {IGovernor-castVote}." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteBySig}." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "See {IGovernor-castVoteWithReason}." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "See {IGovernor-castVoteWithReasonAndParams}." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteWithReasonAndParamsBySig}." - }, - "constructor": { - "details": "Set the timelock." - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-execute}." - }, - "getVotes(address,uint256)": { - "details": "See {IGovernor-getVotes}." - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "See {IGovernor-getVotesWithParams}." - }, - "hasVoted(uint256,address)": { - "details": "Returns whether `account` has cast a vote on `proposalId`.", - "notice": "module:voting" - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts." - }, - "name()": { - "details": "See {IGovernor-name}." - }, - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "See {IERC1155Receiver-onERC1155Received}." - }, - "onERC721Received(address,address,uint256,bytes)": { - "details": "See {IERC721Receiver-onERC721Received}." - }, - "proposalDeadline(uint256)": { - "details": "See {IGovernor-proposalDeadline}." - }, - "proposalEta(uint256)": { - "details": "Public accessor to check the eta of a queued proposal" - }, - "proposalSnapshot(uint256)": { - "details": "See {IGovernor-proposalSnapshot}." - }, - "proposalThreshold()": { - "details": "Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_." - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "See {IGovernor-propose}." - }, - "queue(address[],uint256[],bytes[],bytes32)": { - "details": "Function to queue a proposal to the timelock." - }, - "quorum(uint256)": { - "details": "Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).", - "notice": "module:user-config" - }, - "relay(address,uint256,bytes)": { - "details": "Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant." - }, - "state(uint256)": { - "details": "Overridden version of the {Governor-state} function with added support for the `Queued` status." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "timelock()": { - "details": "Public accessor to check the address of the timelock" - }, - "updateTimelock(address)": { - "details": "Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates must be proposed, scheduled, and executed through governance proposals. CAUTION: It is not recommended to change the timelock while there are other queued governance proposals." - }, - "version()": { - "details": "See {IGovernor-version}." - }, - "votingDelay()": { - "details": "Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.", - "notice": "module:user-config" - }, - "votingPeriod()": { - "details": "Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.", - "notice": "module:user-config" - } - }, - "version": 1 - }, - "offset": [ - 1325, - 6564 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "883c1a267e5ecdb81e4318d5342993814d73590c", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (governance/extensions/GovernorTimelockControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IGovernorTimelock.sol\";\nimport \"../Governor.sol\";\nimport \"../TimelockController.sol\";\n\n/**\n * @dev Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a\n * delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The\n * {Governor} needs the proposer (and ideally the executor) roles for the {Governor} to work properly.\n *\n * Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus,\n * the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be\n * inaccessible.\n *\n * WARNING: Setting up the TimelockController to have additional proposers besides the governor is very risky, as it\n * grants them powers that they must be trusted or known not to use: 1) {onlyGovernance} functions like {relay} are\n * available to them through the timelock, and 2) approved governance proposals can be blocked by them, effectively\n * executing a Denial of Service attack. This risk will be mitigated in a future release.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorTimelockControl is IGovernorTimelock, Governor {\n TimelockController private _timelock;\n mapping(uint256 => bytes32) private _timelockIds;\n\n /**\n * @dev Emitted when the timelock controller used for proposal execution is modified.\n */\n event TimelockChange(address oldTimelock, address newTimelock);\n\n /**\n * @dev Set the timelock.\n */\n constructor(TimelockController timelockAddress) {\n _updateTimelock(timelockAddress);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, Governor) returns (bool) {\n return interfaceId == type(IGovernorTimelock).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Overridden version of the {Governor-state} function with added support for the `Queued` status.\n */\n function state(uint256 proposalId) public view virtual override(IGovernor, Governor) returns (ProposalState) {\n ProposalState status = super.state(proposalId);\n\n if (status != ProposalState.Succeeded) {\n return status;\n }\n\n // core tracks execution, so we just have to check if successful proposal have been queued.\n bytes32 queueid = _timelockIds[proposalId];\n if (queueid == bytes32(0)) {\n return status;\n } else if (_timelock.isOperationDone(queueid)) {\n return ProposalState.Executed;\n } else if (_timelock.isOperationPending(queueid)) {\n return ProposalState.Queued;\n } else {\n return ProposalState.Canceled;\n }\n }\n\n /**\n * @dev Public accessor to check the address of the timelock\n */\n function timelock() public view virtual override returns (address) {\n return address(_timelock);\n }\n\n /**\n * @dev Public accessor to check the eta of a queued proposal\n */\n function proposalEta(uint256 proposalId) public view virtual override returns (uint256) {\n uint256 eta = _timelock.getTimestamp(_timelockIds[proposalId]);\n return eta == 1 ? 0 : eta; // _DONE_TIMESTAMP (1) should be replaced with a 0 value\n }\n\n /**\n * @dev Function to queue a proposal to the timelock.\n */\n function queue(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public virtual override returns (uint256) {\n uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash);\n\n require(state(proposalId) == ProposalState.Succeeded, \"Governor: proposal not successful\");\n\n uint256 delay = _timelock.getMinDelay();\n _timelockIds[proposalId] = _timelock.hashOperationBatch(targets, values, calldatas, 0, descriptionHash);\n _timelock.scheduleBatch(targets, values, calldatas, 0, descriptionHash, delay);\n\n emit ProposalQueued(proposalId, block.timestamp + delay);\n\n return proposalId;\n }\n\n /**\n * @dev Overridden execute function that run the already queued proposal through the timelock.\n */\n function _execute(\n uint256, /* proposalId */\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) internal virtual override {\n _timelock.executeBatch{value: msg.value}(targets, values, calldatas, 0, descriptionHash);\n }\n\n /**\n * @dev Overridden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already\n * been queued.\n */\n // This function can reenter through the external call to the timelock, but we assume the timelock is trusted and\n // well behaved (according to TimelockController) and this will not happen.\n // slither-disable-next-line reentrancy-no-eth\n function _cancel(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) internal virtual override returns (uint256) {\n uint256 proposalId = super._cancel(targets, values, calldatas, descriptionHash);\n\n if (_timelockIds[proposalId] != 0) {\n _timelock.cancel(_timelockIds[proposalId]);\n delete _timelockIds[proposalId];\n }\n\n return proposalId;\n }\n\n /**\n * @dev Address through which the governor executes action. In this case, the timelock.\n */\n function _executor() internal view virtual override returns (address) {\n return address(_timelock);\n }\n\n /**\n * @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates\n * must be proposed, scheduled, and executed through governance proposals.\n *\n * CAUTION: It is not recommended to change the timelock while there are other queued governance proposals.\n */\n function updateTimelock(TimelockController newTimelock) external virtual onlyGovernance {\n _updateTimelock(newTimelock);\n }\n\n function _updateTimelock(TimelockController newTimelock) private {\n emit TimelockChange(address(_timelock), address(newTimelock));\n _timelock = newTimelock;\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorTimelockControl.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorVotes.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorVotes.json deleted file mode 100644 index 80038310..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorVotes.json +++ /dev/null @@ -1,1577 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IVotes", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "allSourcePaths": { - "11": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/utils/IVotes.sol", - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "2": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "8": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotes.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotes.sol", - "exportedSymbols": { - "Address": [ - 4185 - ], - "Context": [ - 4207 - ], - "DoubleEndedQueue": [ - 6842 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC165": [ - 4960 - ], - "Governor": [ - 1775 - ], - "GovernorVotes": [ - 2598 - ], - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ], - "IERC721Receiver": [ - 3855 - ], - "IGovernor": [ - 3796 - ], - "IVotes": [ - 7875 - ], - "Math": [ - 10283 - ], - "SafeCast": [ - 6501 - ], - "Strings": [ - 10470 - ], - "Timers": [ - 4421 - ] - }, - "id": 2599, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2558, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "123:23:8" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "file": "../Governor.sol", - "id": 2559, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2599, - "sourceUnit": 1776, - "src": "148:25:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/utils/IVotes.sol", - "file": "../utils/IVotes.sol", - "id": 2560, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2599, - "sourceUnit": 7876, - "src": "174:29:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 2562, - "name": "Governor", - "nameLocations": [ - "405:8:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1775, - "src": "405:8:8" - }, - "id": 2563, - "nodeType": "InheritanceSpecifier", - "src": "405:8:8" - } - ], - "canonicalName": "GovernorVotes", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2561, - "nodeType": "StructuredDocumentation", - "src": "205:164:8", - "text": " @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token.\n _Available since v4.3._" - }, - "fullyImplemented": false, - "id": 2598, - "linearizedBaseContracts": [ - 2598, - 1775, - 3837, - 3855, - 3796, - 4936, - 4960, - 10295, - 4207 - ], - "name": "GovernorVotes", - "nameLocation": "388:13:8", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "fc0c546a", - "id": 2566, - "mutability": "immutable", - "name": "token", - "nameLocation": "444:5:8", - "nodeType": "VariableDeclaration", - "scope": 2598, - "src": "420:29:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - }, - "typeName": { - "id": 2565, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2564, - "name": "IVotes", - "nameLocations": [ - "420:6:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7875, - "src": "420:6:8" - }, - "referencedDeclaration": 7875, - "src": "420:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 2576, - "nodeType": "Block", - "src": "489:37:8", - "statements": [ - { - "expression": { - "id": 2574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2572, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2566, - "src": "499:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2573, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2569, - "src": "507:12:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - } - }, - "src": "499:20:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - } - }, - "id": 2575, - "nodeType": "ExpressionStatement", - "src": "499:20:8" - } - ] - }, - "id": 2577, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2569, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "475:12:8", - "nodeType": "VariableDeclaration", - "scope": 2577, - "src": "468:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - }, - "typeName": { - "id": 2568, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2567, - "name": "IVotes", - "nameLocations": [ - "468:6:8" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7875, - "src": "468:6:8" - }, - "referencedDeclaration": 7875, - "src": "468:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - } - }, - "visibility": "internal" - } - ], - "src": "467:21:8" - }, - "returnParameters": { - "id": 2571, - "nodeType": "ParameterList", - "parameters": [], - "src": "489:0:8" - }, - "scope": 2598, - "src": "456:70:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 864 - ], - "body": { - "id": 2596, - "nodeType": "Block", - "src": "812:64:8", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2592, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2580, - "src": "848:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2593, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2582, - "src": "857:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2590, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2566, - "src": "829:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - } - }, - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "835:12:8", - "memberName": "getPastVotes", - "nodeType": "MemberAccess", - "referencedDeclaration": 7836, - "src": "829:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view external returns (uint256)" - } - }, - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "829:40:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2589, - "id": 2595, - "nodeType": "Return", - "src": "822:47:8" - } - ] - }, - "documentation": { - "id": 2578, - "nodeType": "StructuredDocumentation", - "src": "532:114:8", - "text": " Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes})." - }, - "id": 2597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getVotes", - "nameLocation": "660:9:8", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2586, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "785:8:8" - }, - "parameters": { - "id": 2585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2580, - "mutability": "mutable", - "name": "account", - "nameLocation": "687:7:8", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "679:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2579, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "679:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2582, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "712:11:8", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "704:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2584, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "733:12:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2583, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "733:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "669:93:8" - }, - "returnParameters": { - "id": 2589, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2588, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2597, - "src": "803:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "803:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "802:9:8" - }, - "scope": 2598, - "src": "651:225:8", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 2599, - "src": "370:508:8", - "usedErrors": [ - 6508 - ] - } - ], - "src": "123:756:8" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "GovernorVotes", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Governor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IVotes" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Extension of {Governor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token. _Available since v4.3._", - "errors": { - "Empty()": [ - { - "details": "An operation (e.g. {front}) couldn't be completed due to the queue being empty." - } - ] - }, - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.", - "notice": "module:voting" - }, - "castVote(uint256,uint8)": { - "details": "See {IGovernor-castVote}." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteBySig}." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "See {IGovernor-castVoteWithReason}." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "See {IGovernor-castVoteWithReasonAndParams}." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteWithReasonAndParamsBySig}." - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-execute}." - }, - "getVotes(address,uint256)": { - "details": "See {IGovernor-getVotes}." - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "See {IGovernor-getVotesWithParams}." - }, - "hasVoted(uint256,address)": { - "details": "Returns whether `account` has cast a vote on `proposalId`.", - "notice": "module:voting" - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts." - }, - "name()": { - "details": "See {IGovernor-name}." - }, - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "See {IERC1155Receiver-onERC1155Received}." - }, - "onERC721Received(address,address,uint256,bytes)": { - "details": "See {IERC721Receiver-onERC721Received}." - }, - "proposalDeadline(uint256)": { - "details": "See {IGovernor-proposalDeadline}." - }, - "proposalSnapshot(uint256)": { - "details": "See {IGovernor-proposalSnapshot}." - }, - "proposalThreshold()": { - "details": "Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_." - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "See {IGovernor-propose}." - }, - "quorum(uint256)": { - "details": "Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).", - "notice": "module:user-config" - }, - "relay(address,uint256,bytes)": { - "details": "Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant." - }, - "state(uint256)": { - "details": "See {IGovernor-state}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "version()": { - "details": "See {IGovernor-version}." - }, - "votingDelay()": { - "details": "Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.", - "notice": "module:user-config" - }, - "votingPeriod()": { - "details": "Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.", - "notice": "module:user-config" - } - }, - "version": 1 - }, - "offset": [ - 370, - 878 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "5ba229718ce3cdd5b0a687b8fa93cc6baf993e3e", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (governance/extensions/GovernorVotes.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Governor.sol\";\nimport \"../utils/IVotes.sol\";\n\n/**\n * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token, or since v4.5 an {ERC721Votes} token.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorVotes is Governor {\n IVotes public immutable token;\n\n constructor(IVotes tokenAddress) {\n token = tokenAddress;\n }\n\n /**\n * Read the voting weight from the token's built in snapshot mechanism (see {Governor-_getVotes}).\n */\n function _getVotes(\n address account,\n uint256 blockNumber,\n bytes memory /*params*/\n ) internal view virtual override returns (uint256) {\n return token.getPastVotes(account, blockNumber);\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotes.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorVotesQuorumFraction.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorVotesQuorumFraction.json deleted file mode 100644 index 0163e811..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorVotesQuorumFraction.json +++ /dev/null @@ -1,3689 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldQuorumNumerator", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newQuorumNumerator", - "type": "uint256" - } - ], - "name": "QuorumNumeratorUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quorumDenominator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorumNumerator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quorumNumerator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IVotes", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newQuorumNumerator", - "type": "uint256" - } - ], - "name": "updateQuorumNumerator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "allSourcePaths": { - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "2": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/Governor.sol", - "21": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Checkpoints.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "27": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/cryptography/EIP712.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "31": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol", - "8": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotes.sol", - "9": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotesQuorumFraction.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotesQuorumFraction.sol", - "exportedSymbols": { - "Address": [ - 4185 - ], - "Checkpoints": [ - 9246 - ], - "Context": [ - 4207 - ], - "DoubleEndedQueue": [ - 6842 - ], - "ECDSA": [ - 4782 - ], - "EIP712": [ - 4936 - ], - "ERC165": [ - 4960 - ], - "Governor": [ - 1775 - ], - "GovernorVotes": [ - 2598 - ], - "GovernorVotesQuorumFraction": [ - 2801 - ], - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ], - "IERC721Receiver": [ - 3855 - ], - "IGovernor": [ - 3796 - ], - "IVotes": [ - 7875 - ], - "Math": [ - 10283 - ], - "SafeCast": [ - 6501 - ], - "Strings": [ - 10470 - ], - "Timers": [ - 4421 - ] - }, - "id": 2802, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2600, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "137:23:9" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotes.sol", - "file": "./GovernorVotes.sol", - "id": 2601, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2802, - "sourceUnit": 2599, - "src": "162:29:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Checkpoints.sol", - "file": "../../utils/Checkpoints.sol", - "id": 2602, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2802, - "sourceUnit": 9247, - "src": "192:37:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol", - "file": "../../utils/math/SafeCast.sol", - "id": 2603, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 2802, - "sourceUnit": 6502, - "src": "230:39:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 2605, - "name": "GovernorVotes", - "nameLocations": [ - "507:13:9" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2598, - "src": "507:13:9" - }, - "id": 2606, - "nodeType": "InheritanceSpecifier", - "src": "507:13:9" - } - ], - "canonicalName": "GovernorVotesQuorumFraction", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 2604, - "nodeType": "StructuredDocumentation", - "src": "271:186:9", - "text": " @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n fraction of the total supply.\n _Available since v4.3._" - }, - "fullyImplemented": false, - "id": 2801, - "linearizedBaseContracts": [ - 2801, - 2598, - 1775, - 3837, - 3855, - 3796, - 4936, - 4960, - 10295, - 4207 - ], - "name": "GovernorVotesQuorumFraction", - "nameLocation": "476:27:9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "global": false, - "id": 2610, - "libraryName": { - "id": 2607, - "name": "Checkpoints", - "nameLocations": [ - "533:11:9" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 9246, - "src": "533:11:9" - }, - "nodeType": "UsingForDirective", - "src": "527:42:9", - "typeName": { - "id": 2609, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2608, - "name": "Checkpoints.History", - "nameLocations": [ - "549:11:9", - "561:7:9" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7885, - "src": "549:19:9" - }, - "referencedDeclaration": 7885, - "src": "549:19:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage_ptr", - "typeString": "struct Checkpoints.History" - } - } - }, - { - "constant": false, - "id": 2612, - "mutability": "mutable", - "name": "_quorumNumerator", - "nameLocation": "591:16:9", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "575:32:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "575:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 2615, - "mutability": "mutable", - "name": "_quorumNumeratorHistory", - "nameLocation": "655:23:9", - "nodeType": "VariableDeclaration", - "scope": 2801, - "src": "627:51:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History" - }, - "typeName": { - "id": 2614, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2613, - "name": "Checkpoints.History", - "nameLocations": [ - "627:11:9", - "639:7:9" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7885, - "src": "627:19:9" - }, - "referencedDeclaration": 7885, - "src": "627:19:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage_ptr", - "typeString": "struct Checkpoints.History" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "eventSelector": "0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997", - "id": 2621, - "name": "QuorumNumeratorUpdated", - "nameLocation": "691:22:9", - "nodeType": "EventDefinition", - "parameters": { - "id": 2620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2617, - "indexed": false, - "mutability": "mutable", - "name": "oldQuorumNumerator", - "nameLocation": "722:18:9", - "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "714:26:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2616, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2619, - "indexed": false, - "mutability": "mutable", - "name": "newQuorumNumerator", - "nameLocation": "750:18:9", - "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "742:26:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "742:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "713:56:9" - }, - "src": "685:85:9" - }, - { - "body": { - "id": 2631, - "nodeType": "Block", - "src": "1199:61:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2628, - "name": "quorumNumeratorValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "1232:20:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2627, - "name": "_updateQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2800, - "src": "1209:22:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1209:44:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2630, - "nodeType": "ExpressionStatement", - "src": "1209:44:9" - } - ] - }, - "documentation": { - "id": 2622, - "nodeType": "StructuredDocumentation", - "src": "776:376:9", - "text": " @dev Initialize quorum as a fraction of the token's total supply.\n The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n customized by overriding {quorumDenominator}." - }, - "id": 2632, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2625, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2624, - "mutability": "mutable", - "name": "quorumNumeratorValue", - "nameLocation": "1177:20:9", - "nodeType": "VariableDeclaration", - "scope": 2632, - "src": "1169:28:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1169:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1168:30:9" - }, - "returnParameters": { - "id": 2626, - "nodeType": "ParameterList", - "parameters": [], - "src": "1199:0:9" - }, - "scope": 2801, - "src": "1157:103:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2649, - "nodeType": "Block", - "src": "1422:126:9", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 2638, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "1439:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1463:12:9", - "memberName": "_checkpoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "1439:36:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$7890_storage_$dyn_storage", - "typeString": "struct Checkpoints.Checkpoint storage ref[] storage ref" - } - }, - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1476:6:9", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1439:43:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1486:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1439:48:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 2644, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "1509:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2645, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1533:6:9", - "memberName": "latest", - "nodeType": "MemberAccess", - "referencedDeclaration": 8139, - "src": "1509:30:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_History_$7885_storage_ptr_$returns$_t_uint224_$bound_to$_t_struct$_History_$7885_storage_ptr_$", - "typeString": "function (struct Checkpoints.History storage pointer) view returns (uint224)" - } - }, - "id": 2646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1509:32:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1439:102:9", - "trueExpression": { - "id": 2643, - "name": "_quorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2612, - "src": "1490:16:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2637, - "id": 2648, - "nodeType": "Return", - "src": "1432:109:9" - } - ] - }, - "documentation": { - "id": 2633, - "nodeType": "StructuredDocumentation", - "src": "1266:86:9", - "text": " @dev Returns the current quorum numerator. See {quorumDenominator}." - }, - "functionSelector": "a7713a70", - "id": 2650, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "quorumNumerator", - "nameLocation": "1366:15:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2634, - "nodeType": "ParameterList", - "parameters": [], - "src": "1381:2:9" - }, - "returnParameters": { - "id": 2637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2636, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2650, - "src": "1413:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1413:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1412:9:9" - }, - "scope": 2801, - "src": "1357:191:9", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2697, - "nodeType": "Block", - "src": "1748:565:9", - "statements": [ - { - "assignments": [ - 2659 - ], - "declarations": [ - { - "constant": false, - "id": 2659, - "mutability": "mutable", - "name": "length", - "nameLocation": "1822:6:9", - "nodeType": "VariableDeclaration", - "scope": 2697, - "src": "1814:14:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1814:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2663, - "initialValue": { - "expression": { - "expression": { - "id": 2660, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "1831:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2661, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1855:12:9", - "memberName": "_checkpoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "1831:36:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$7890_storage_$dyn_storage", - "typeString": "struct Checkpoints.Checkpoint storage ref[] storage ref" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1868:6:9", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1831:43:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1814:60:9" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2664, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2659, - "src": "1888:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1898:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1888:11:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2670, - "nodeType": "IfStatement", - "src": "1884:65:9", - "trueBody": { - "id": 2669, - "nodeType": "Block", - "src": "1901:48:9", - "statements": [ - { - "expression": { - "id": 2667, - "name": "_quorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2612, - "src": "1922:16:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2657, - "id": 2668, - "nodeType": "Return", - "src": "1915:23:9" - } - ] - } - }, - { - "assignments": [ - 2675 - ], - "declarations": [ - { - "constant": false, - "id": 2675, - "mutability": "mutable", - "name": "latest", - "nameLocation": "2047:6:9", - "nodeType": "VariableDeclaration", - "scope": 2697, - "src": "2017:36:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$7890_memory_ptr", - "typeString": "struct Checkpoints.Checkpoint" - }, - "typeName": { - "id": 2674, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2673, - "name": "Checkpoints.Checkpoint", - "nameLocations": [ - "2017:11:9", - "2029:10:9" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7890, - "src": "2017:22:9" - }, - "referencedDeclaration": 7890, - "src": "2017:22:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$7890_storage_ptr", - "typeString": "struct Checkpoints.Checkpoint" - } - }, - "visibility": "internal" - } - ], - "id": 2682, - "initialValue": { - "baseExpression": { - "expression": { - "id": 2676, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "2056:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2080:12:9", - "memberName": "_checkpoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "2056:36:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$7890_storage_$dyn_storage", - "typeString": "struct Checkpoints.Checkpoint storage ref[] storage ref" - } - }, - "id": 2681, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2678, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2659, - "src": "2093:6:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2102:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2093:10:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2056:48:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$7890_storage", - "typeString": "struct Checkpoints.Checkpoint storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2017:87:9" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2683, - "name": "latest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "2118:6:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$7890_memory_ptr", - "typeString": "struct Checkpoints.Checkpoint memory" - } - }, - "id": 2684, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2125:12:9", - "memberName": "_blockNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 7887, - "src": "2118:19:9", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 2685, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "2141:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2118:34:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2691, - "nodeType": "IfStatement", - "src": "2114:85:9", - "trueBody": { - "id": 2690, - "nodeType": "Block", - "src": "2154:45:9", - "statements": [ - { - "expression": { - "expression": { - "id": 2687, - "name": "latest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "2175:6:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$7890_memory_ptr", - "typeString": "struct Checkpoints.Checkpoint memory" - } - }, - "id": 2688, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2182:6:9", - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 7889, - "src": "2175:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "functionReturnParameters": 2657, - "id": 2689, - "nodeType": "Return", - "src": "2168:20:9" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 2694, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2653, - "src": "2294:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2692, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "2259:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2693, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2283:10:9", - "memberName": "getAtBlock", - "nodeType": "MemberAccess", - "referencedDeclaration": 7947, - "src": "2259:34:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_History_$7885_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_History_$7885_storage_ptr_$", - "typeString": "function (struct Checkpoints.History storage pointer,uint256) view returns (uint256)" - } - }, - "id": 2695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2259:47:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2657, - "id": 2696, - "nodeType": "Return", - "src": "2252:54:9" - } - ] - }, - "documentation": { - "id": 2651, - "nodeType": "StructuredDocumentation", - "src": "1554:105:9", - "text": " @dev Returns the quorum numerator at a specific block number. See {quorumDenominator}." - }, - "functionSelector": "60c4247f", - "id": 2698, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "quorumNumerator", - "nameLocation": "1673:15:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2653, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "1697:11:9", - "nodeType": "VariableDeclaration", - "scope": 2698, - "src": "1689:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1689:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1688:21:9" - }, - "returnParameters": { - "id": 2657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2656, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2698, - "src": "1739:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1739:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1738:9:9" - }, - "scope": 2801, - "src": "1664:649:9", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2706, - "nodeType": "Block", - "src": "2486:27:9", - "statements": [ - { - "expression": { - "hexValue": "313030", - "id": 2704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2503:3:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "functionReturnParameters": 2703, - "id": 2705, - "nodeType": "Return", - "src": "2496:10:9" - } - ] - }, - "documentation": { - "id": 2699, - "nodeType": "StructuredDocumentation", - "src": "2319:95:9", - "text": " @dev Returns the quorum denominator. Defaults to 100, but may be overridden." - }, - "functionSelector": "97c3d334", - "id": 2707, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "quorumDenominator", - "nameLocation": "2428:17:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2700, - "nodeType": "ParameterList", - "parameters": [], - "src": "2445:2:9" - }, - "returnParameters": { - "id": 2703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2702, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2707, - "src": "2477:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2477:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2476:9:9" - }, - "scope": 2801, - "src": "2419:94:9", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3657 - ], - "body": { - "id": 2729, - "nodeType": "Block", - "src": "2735:116:9", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2718, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2710, - "src": "2778:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2716, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2566, - "src": "2753:5:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IVotes_$7875", - "typeString": "contract IVotes" - } - }, - "id": 2717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2759:18:9", - "memberName": "getPastTotalSupply", - "nodeType": "MemberAccess", - "referencedDeclaration": 7844, - "src": "2753:24:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view external returns (uint256)" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2753:37:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [ - { - "id": 2721, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2710, - "src": "2809:11:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2720, - "name": "quorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2650, - 2698 - ], - "referencedDeclaration": 2698, - "src": "2793:15:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 2722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2793:28:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2753:68:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2724, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2752:70:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2725, - "name": "quorumDenominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2707, - "src": "2825:17:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 2726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2825:19:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2752:92:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2715, - "id": 2728, - "nodeType": "Return", - "src": "2745:99:9" - } - ] - }, - "documentation": { - "id": 2708, - "nodeType": "StructuredDocumentation", - "src": "2519:127:9", - "text": " @dev Returns the quorum for a block number, in terms of number of votes: `supply * numerator / denominator`." - }, - "functionSelector": "f8ce560a", - "id": 2730, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "quorum", - "nameLocation": "2660:6:9", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2712, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2708:8:9" - }, - "parameters": { - "id": 2711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2710, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "2675:11:9", - "nodeType": "VariableDeclaration", - "scope": 2730, - "src": "2667:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2667:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2666:21:9" - }, - "returnParameters": { - "id": 2715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2714, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2730, - "src": "2726:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2713, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2726:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2725:9:9" - }, - "scope": 2801, - "src": "2651:200:9", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2742, - "nodeType": "Block", - "src": "3218:59:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2739, - "name": "newQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2733, - "src": "3251:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2738, - "name": "_updateQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2800, - "src": "3228:22:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3228:42:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2741, - "nodeType": "ExpressionStatement", - "src": "3228:42:9" - } - ] - }, - "documentation": { - "id": 2731, - "nodeType": "StructuredDocumentation", - "src": "2857:265:9", - "text": " @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - Must be called through a governance proposal.\n - New numerator must be smaller or equal to the denominator." - }, - "functionSelector": "06f3f9e6", - "id": 2743, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2736, - "kind": "modifierInvocation", - "modifierName": { - "id": 2735, - "name": "onlyGovernance", - "nameLocations": [ - "3203:14:9" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 572, - "src": "3203:14:9" - }, - "nodeType": "ModifierInvocation", - "src": "3203:14:9" - } - ], - "name": "updateQuorumNumerator", - "nameLocation": "3136:21:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2733, - "mutability": "mutable", - "name": "newQuorumNumerator", - "nameLocation": "3166:18:9", - "nodeType": "VariableDeclaration", - "scope": 2743, - "src": "3158:26:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3158:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3157:28:9" - }, - "returnParameters": { - "id": 2737, - "nodeType": "ParameterList", - "parameters": [], - "src": "3218:0:9" - }, - "scope": 2801, - "src": "3127:150:9", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "body": { - "id": 2799, - "nodeType": "Block", - "src": "3575:810:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2750, - "name": "newQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2746, - "src": "3606:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2751, - "name": "quorumDenominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2707, - "src": "3628:17:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3628:19:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3606:41:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e61746f72", - "id": 2754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3661:69:9", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0687f8064c09ccf183090b5092c4485c730072a161487645a7e37b56cef356bb", - "typeString": "literal_string \"GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator\"" - }, - "value": "GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0687f8064c09ccf183090b5092c4485c730072a161487645a7e37b56cef356bb", - "typeString": "literal_string \"GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator\"" - } - ], - "id": 2749, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3585:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3585:155:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2756, - "nodeType": "ExpressionStatement", - "src": "3585:155:9" - }, - { - "assignments": [ - 2758 - ], - "declarations": [ - { - "constant": false, - "id": 2758, - "mutability": "mutable", - "name": "oldQuorumNumerator", - "nameLocation": "3759:18:9", - "nodeType": "VariableDeclaration", - "scope": 2799, - "src": "3751:26:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3751:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2761, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2759, - "name": "quorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2650, - 2698 - ], - "referencedDeclaration": 2650, - "src": "3780:15:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 2760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3780:17:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3751:46:9" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2762, - "name": "oldQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2758, - "src": "3931:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 2763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3953:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3931:23:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 2765, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "3958:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2766, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3982:12:9", - "memberName": "_checkpoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "3958:36:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$7890_storage_$dyn_storage", - "typeString": "struct Checkpoints.Checkpoint storage ref[] storage ref" - } - }, - "id": 2767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3995:6:9", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3958:43:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4005:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3958:48:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3931:75:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2787, - "nodeType": "IfStatement", - "src": "3927:268:9", - "trueBody": { - "id": 2786, - "nodeType": "Block", - "src": "4008:187:9", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 2778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4119:1:9", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "arguments": [ - { - "id": 2781, - "name": "oldQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2758, - "src": "4149:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2779, - "name": "SafeCast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6501, - "src": "4130:8:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SafeCast_$6501_$", - "typeString": "type(library SafeCast)" - } - }, - "id": 2780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4139:9:9", - "memberName": "toUint224", - "nodeType": "MemberAccess", - "referencedDeclaration": 5063, - "src": "4130:18:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint224_$", - "typeString": "function (uint256) pure returns (uint224)" - } - }, - "id": 2782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4130:38:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - ], - "expression": { - "id": 2776, - "name": "Checkpoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9246, - "src": "4081:11:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Checkpoints_$9246_$", - "typeString": "type(library Checkpoints)" - } - }, - "id": 2777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4093:10:9", - "memberName": "Checkpoint", - "nodeType": "MemberAccess", - "referencedDeclaration": 7890, - "src": "4081:22:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Checkpoint_$7890_storage_ptr_$", - "typeString": "type(struct Checkpoints.Checkpoint storage pointer)" - } - }, - "id": 2783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "4105:12:9", - "4122:6:9" - ], - "names": [ - "_blockNumber", - "_value" - ], - "nodeType": "FunctionCall", - "src": "4081:89:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Checkpoint_$7890_memory_ptr", - "typeString": "struct Checkpoints.Checkpoint memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Checkpoint_$7890_memory_ptr", - "typeString": "struct Checkpoints.Checkpoint memory" - } - ], - "expression": { - "expression": { - "id": 2771, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "4022:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2774, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4046:12:9", - "memberName": "_checkpoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 7884, - "src": "4022:36:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Checkpoint_$7890_storage_$dyn_storage", - "typeString": "struct Checkpoints.Checkpoint storage ref[] storage ref" - } - }, - "id": 2775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4059:4:9", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "4022:41:9", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$7890_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$7890_storage_$returns$__$bound_to$_t_array$_t_struct$_Checkpoint_$7890_storage_$dyn_storage_ptr_$", - "typeString": "function (struct Checkpoints.Checkpoint storage ref[] storage pointer,struct Checkpoints.Checkpoint storage ref)" - } - }, - "id": 2784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4022:162:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2785, - "nodeType": "ExpressionStatement", - "src": "4022:162:9" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 2791, - "name": "newQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2746, - "src": "4281:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2788, - "name": "_quorumNumeratorHistory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2615, - "src": "4252:23:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_History_$7885_storage", - "typeString": "struct Checkpoints.History storage ref" - } - }, - "id": 2790, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4276:4:9", - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": 8075, - "src": "4252:28:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_History_$7885_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_History_$7885_storage_ptr_$", - "typeString": "function (struct Checkpoints.History storage pointer,uint256) returns (uint256,uint256)" - } - }, - "id": 2792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4252:48:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "id": 2793, - "nodeType": "ExpressionStatement", - "src": "4252:48:9" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2795, - "name": "oldQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2758, - "src": "4339:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2796, - "name": "newQuorumNumerator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2746, - "src": "4359:18:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2794, - "name": "QuorumNumeratorUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2621, - "src": "4316:22:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 2797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4316:62:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2798, - "nodeType": "EmitStatement", - "src": "4311:67:9" - } - ] - }, - "documentation": { - "id": 2744, - "nodeType": "StructuredDocumentation", - "src": "3283:210:9", - "text": " @dev Changes the quorum numerator.\n Emits a {QuorumNumeratorUpdated} event.\n Requirements:\n - New numerator must be smaller or equal to the denominator." - }, - "id": 2800, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_updateQuorumNumerator", - "nameLocation": "3507:22:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2747, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2746, - "mutability": "mutable", - "name": "newQuorumNumerator", - "nameLocation": "3538:18:9", - "nodeType": "VariableDeclaration", - "scope": 2800, - "src": "3530:26:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3530:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3529:28:9" - }, - "returnParameters": { - "id": 2748, - "nodeType": "ParameterList", - "parameters": [], - "src": "3575:0:9" - }, - "scope": 2801, - "src": "3498:887:9", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 2802, - "src": "458:3929:9", - "usedErrors": [ - 6508 - ] - } - ], - "src": "137:4251:9" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "GovernorVotesQuorumFraction", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Checkpoints", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/EIP712", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Governor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/GovernorVotes", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math", - "OpenZeppelin/openzeppelin-contracts@4.8.1/SafeCast" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a fraction of the total supply. _Available since v4.3._", - "errors": { - "Empty()": [ - { - "details": "An operation (e.g. {front}) couldn't be completed due to the queue being empty." - } - ] - }, - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.", - "notice": "module:voting" - }, - "castVote(uint256,uint8)": { - "details": "See {IGovernor-castVote}." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteBySig}." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "See {IGovernor-castVoteWithReason}." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "See {IGovernor-castVoteWithReasonAndParams}." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "See {IGovernor-castVoteWithReasonAndParamsBySig}." - }, - "constructor": { - "details": "Initialize quorum as a fraction of the token's total supply. The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be customized by overriding {quorumDenominator}." - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-execute}." - }, - "getVotes(address,uint256)": { - "details": "See {IGovernor-getVotes}." - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "See {IGovernor-getVotesWithParams}." - }, - "hasVoted(uint256,address)": { - "details": "Returns whether `account` has cast a vote on `proposalId`.", - "notice": "module:voting" - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts." - }, - "name()": { - "details": "See {IGovernor-name}." - }, - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "See {IERC1155Receiver-onERC1155Received}." - }, - "onERC721Received(address,address,uint256,bytes)": { - "details": "See {IERC721Receiver-onERC721Received}." - }, - "proposalDeadline(uint256)": { - "details": "See {IGovernor-proposalDeadline}." - }, - "proposalSnapshot(uint256)": { - "details": "See {IGovernor-proposalSnapshot}." - }, - "proposalThreshold()": { - "details": "Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_." - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "See {IGovernor-propose}." - }, - "quorum(uint256)": { - "details": "Returns the quorum for a block number, in terms of number of votes: `supply * numerator / denominator`." - }, - "quorumDenominator()": { - "details": "Returns the quorum denominator. Defaults to 100, but may be overridden." - }, - "quorumNumerator()": { - "details": "Returns the current quorum numerator. See {quorumDenominator}." - }, - "quorumNumerator(uint256)": { - "details": "Returns the quorum numerator at a specific block number. See {quorumDenominator}." - }, - "relay(address,uint256,bytes)": { - "details": "Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant." - }, - "state(uint256)": { - "details": "See {IGovernor-state}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "updateQuorumNumerator(uint256)": { - "details": "Changes the quorum numerator. Emits a {QuorumNumeratorUpdated} event. Requirements: - Must be called through a governance proposal. - New numerator must be smaller or equal to the denominator." - }, - "version()": { - "details": "See {IGovernor-version}." - }, - "votingDelay()": { - "details": "Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.", - "notice": "module:user-config" - }, - "votingPeriod()": { - "details": "Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.", - "notice": "module:user-config" - } - }, - "version": 1 - }, - "offset": [ - 458, - 4387 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "24f8ba832749f362046dbd2916ed233ed8e0da1d", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/extensions/GovernorVotesQuorumFraction.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./GovernorVotes.sol\";\nimport \"../../utils/Checkpoints.sol\";\nimport \"../../utils/math/SafeCast.sol\";\n\n/**\n * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a\n * fraction of the total supply.\n *\n * _Available since v4.3._\n */\nabstract contract GovernorVotesQuorumFraction is GovernorVotes {\n using Checkpoints for Checkpoints.History;\n\n uint256 private _quorumNumerator; // DEPRECATED\n Checkpoints.History private _quorumNumeratorHistory;\n\n event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator);\n\n /**\n * @dev Initialize quorum as a fraction of the token's total supply.\n *\n * The fraction is specified as `numerator / denominator`. By default the denominator is 100, so quorum is\n * specified as a percent: a numerator of 10 corresponds to quorum being 10% of total supply. The denominator can be\n * customized by overriding {quorumDenominator}.\n */\n constructor(uint256 quorumNumeratorValue) {\n _updateQuorumNumerator(quorumNumeratorValue);\n }\n\n /**\n * @dev Returns the current quorum numerator. See {quorumDenominator}.\n */\n function quorumNumerator() public view virtual returns (uint256) {\n return _quorumNumeratorHistory._checkpoints.length == 0 ? _quorumNumerator : _quorumNumeratorHistory.latest();\n }\n\n /**\n * @dev Returns the quorum numerator at a specific block number. See {quorumDenominator}.\n */\n function quorumNumerator(uint256 blockNumber) public view virtual returns (uint256) {\n // If history is empty, fallback to old storage\n uint256 length = _quorumNumeratorHistory._checkpoints.length;\n if (length == 0) {\n return _quorumNumerator;\n }\n\n // Optimistic search, check the latest checkpoint\n Checkpoints.Checkpoint memory latest = _quorumNumeratorHistory._checkpoints[length - 1];\n if (latest._blockNumber <= blockNumber) {\n return latest._value;\n }\n\n // Otherwise, do the binary search\n return _quorumNumeratorHistory.getAtBlock(blockNumber);\n }\n\n /**\n * @dev Returns the quorum denominator. Defaults to 100, but may be overridden.\n */\n function quorumDenominator() public view virtual returns (uint256) {\n return 100;\n }\n\n /**\n * @dev Returns the quorum for a block number, in terms of number of votes: `supply * numerator / denominator`.\n */\n function quorum(uint256 blockNumber) public view virtual override returns (uint256) {\n return (token.getPastTotalSupply(blockNumber) * quorumNumerator(blockNumber)) / quorumDenominator();\n }\n\n /**\n * @dev Changes the quorum numerator.\n *\n * Emits a {QuorumNumeratorUpdated} event.\n *\n * Requirements:\n *\n * - Must be called through a governance proposal.\n * - New numerator must be smaller or equal to the denominator.\n */\n function updateQuorumNumerator(uint256 newQuorumNumerator) external virtual onlyGovernance {\n _updateQuorumNumerator(newQuorumNumerator);\n }\n\n /**\n * @dev Changes the quorum numerator.\n *\n * Emits a {QuorumNumeratorUpdated} event.\n *\n * Requirements:\n *\n * - New numerator must be smaller or equal to the denominator.\n */\n function _updateQuorumNumerator(uint256 newQuorumNumerator) internal virtual {\n require(\n newQuorumNumerator <= quorumDenominator(),\n \"GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator\"\n );\n\n uint256 oldQuorumNumerator = quorumNumerator();\n\n // Make sure we keep track of the original numerator in contracts upgraded from a version without checkpoints.\n if (oldQuorumNumerator != 0 && _quorumNumeratorHistory._checkpoints.length == 0) {\n _quorumNumeratorHistory._checkpoints.push(\n Checkpoints.Checkpoint({_blockNumber: 0, _value: SafeCast.toUint224(oldQuorumNumerator)})\n );\n }\n\n // Set new quorum for future proposals\n _quorumNumeratorHistory.push(newQuorumNumerator);\n\n emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator);\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/GovernorVotesQuorumFraction.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IAccessControl.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IAccessControl.json deleted file mode 100644 index cd3602f2..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IAccessControl.json +++ /dev/null @@ -1,1088 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "1": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/IAccessControl.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/IAccessControl.sol", - "exportedSymbols": { - "IAccessControl": [ - 11556 - ] - }, - "id": 11557, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11485, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "94:23:1" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IAccessControl", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 11486, - "nodeType": "StructuredDocumentation", - "src": "119:89:1", - "text": " @dev External interface of AccessControl declared to support ERC165 detection." - }, - "fullyImplemented": false, - "id": 11556, - "linearizedBaseContracts": [ - 11556 - ], - "name": "IAccessControl", - "nameLocation": "219:14:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 11487, - "nodeType": "StructuredDocumentation", - "src": "240:292:1", - "text": " @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._" - }, - "eventSelector": "bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", - "id": 11495, - "name": "RoleAdminChanged", - "nameLocation": "543:16:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 11494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11489, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nameLocation": "576:4:1", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "560:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11488, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "560:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11491, - "indexed": true, - "mutability": "mutable", - "name": "previousAdminRole", - "nameLocation": "598:17:1", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "582:33:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11490, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "582:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11493, - "indexed": true, - "mutability": "mutable", - "name": "newAdminRole", - "nameLocation": "633:12:1", - "nodeType": "VariableDeclaration", - "scope": 11495, - "src": "617:28:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11492, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "617:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "559:87:1" - }, - "src": "537:110:1" - }, - { - "anonymous": false, - "documentation": { - "id": 11496, - "nodeType": "StructuredDocumentation", - "src": "653:212:1", - "text": " @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {AccessControl-_setupRole}." - }, - "eventSelector": "2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "id": 11504, - "name": "RoleGranted", - "nameLocation": "876:11:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 11503, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11498, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nameLocation": "904:4:1", - "nodeType": "VariableDeclaration", - "scope": 11504, - "src": "888:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11497, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "888:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11500, - "indexed": true, - "mutability": "mutable", - "name": "account", - "nameLocation": "926:7:1", - "nodeType": "VariableDeclaration", - "scope": 11504, - "src": "910:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "910:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11502, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nameLocation": "951:6:1", - "nodeType": "VariableDeclaration", - "scope": 11504, - "src": "935:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "935:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "887:71:1" - }, - "src": "870:89:1" - }, - { - "anonymous": false, - "documentation": { - "id": 11505, - "nodeType": "StructuredDocumentation", - "src": "965:275:1", - "text": " @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)" - }, - "eventSelector": "f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b", - "id": 11513, - "name": "RoleRevoked", - "nameLocation": "1251:11:1", - "nodeType": "EventDefinition", - "parameters": { - "id": 11512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11507, - "indexed": true, - "mutability": "mutable", - "name": "role", - "nameLocation": "1279:4:1", - "nodeType": "VariableDeclaration", - "scope": 11513, - "src": "1263:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11506, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1263:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11509, - "indexed": true, - "mutability": "mutable", - "name": "account", - "nameLocation": "1301:7:1", - "nodeType": "VariableDeclaration", - "scope": 11513, - "src": "1285:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11508, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1285:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11511, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1326:6:1", - "nodeType": "VariableDeclaration", - "scope": 11513, - "src": "1310:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1310:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1262:71:1" - }, - "src": "1245:89:1" - }, - { - "documentation": { - "id": 11514, - "nodeType": "StructuredDocumentation", - "src": "1340:76:1", - "text": " @dev Returns `true` if `account` has been granted `role`." - }, - "functionSelector": "91d14854", - "id": 11523, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "hasRole", - "nameLocation": "1430:7:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11516, - "mutability": "mutable", - "name": "role", - "nameLocation": "1446:4:1", - "nodeType": "VariableDeclaration", - "scope": 11523, - "src": "1438:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11515, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1438:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11518, - "mutability": "mutable", - "name": "account", - "nameLocation": "1460:7:1", - "nodeType": "VariableDeclaration", - "scope": 11523, - "src": "1452:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11517, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1452:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1437:31:1" - }, - "returnParameters": { - "id": 11522, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11521, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11523, - "src": "1492:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11520, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1492:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1491:6:1" - }, - "scope": 11556, - "src": "1421:77:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11524, - "nodeType": "StructuredDocumentation", - "src": "1504:184:1", - "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}." - }, - "functionSelector": "248a9ca3", - "id": 11531, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRoleAdmin", - "nameLocation": "1702:12:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11526, - "mutability": "mutable", - "name": "role", - "nameLocation": "1723:4:1", - "nodeType": "VariableDeclaration", - "scope": 11531, - "src": "1715:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11525, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1715:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1714:14:1" - }, - "returnParameters": { - "id": 11530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11529, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11531, - "src": "1752:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11528, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1752:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1751:9:1" - }, - "scope": 11556, - "src": "1693:68:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11532, - "nodeType": "StructuredDocumentation", - "src": "1767:239:1", - "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." - }, - "functionSelector": "2f2ff15d", - "id": 11539, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "grantRole", - "nameLocation": "2020:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11534, - "mutability": "mutable", - "name": "role", - "nameLocation": "2038:4:1", - "nodeType": "VariableDeclaration", - "scope": 11539, - "src": "2030:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11533, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2030:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11536, - "mutability": "mutable", - "name": "account", - "nameLocation": "2052:7:1", - "nodeType": "VariableDeclaration", - "scope": 11539, - "src": "2044:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11535, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2044:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2029:31:1" - }, - "returnParameters": { - "id": 11538, - "nodeType": "ParameterList", - "parameters": [], - "src": "2069:0:1" - }, - "scope": 11556, - "src": "2011:59:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11540, - "nodeType": "StructuredDocumentation", - "src": "2076:223:1", - "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." - }, - "functionSelector": "d547741f", - "id": 11547, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeRole", - "nameLocation": "2313:10:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11542, - "mutability": "mutable", - "name": "role", - "nameLocation": "2332:4:1", - "nodeType": "VariableDeclaration", - "scope": 11547, - "src": "2324:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11541, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2324:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11544, - "mutability": "mutable", - "name": "account", - "nameLocation": "2346:7:1", - "nodeType": "VariableDeclaration", - "scope": 11547, - "src": "2338:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11543, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2338:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2323:31:1" - }, - "returnParameters": { - "id": 11546, - "nodeType": "ParameterList", - "parameters": [], - "src": "2363:0:1" - }, - "scope": 11556, - "src": "2304:60:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11548, - "nodeType": "StructuredDocumentation", - "src": "2370:480:1", - "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`." - }, - "functionSelector": "36568abe", - "id": 11555, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "renounceRole", - "nameLocation": "2864:12:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11550, - "mutability": "mutable", - "name": "role", - "nameLocation": "2885:4:1", - "nodeType": "VariableDeclaration", - "scope": 11555, - "src": "2877:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11549, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2877:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11552, - "mutability": "mutable", - "name": "account", - "nameLocation": "2899:7:1", - "nodeType": "VariableDeclaration", - "scope": 11555, - "src": "2891:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2891:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2876:31:1" - }, - "returnParameters": { - "id": 11554, - "nodeType": "ParameterList", - "parameters": [], - "src": "2916:0:1" - }, - "scope": 11556, - "src": "2855:62:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11557, - "src": "209:2710:1", - "usedErrors": [] - } - ], - "src": "94:2826:1" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IAccessControl", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "External interface of AccessControl declared to support ERC165 detection.", - "events": { - "RoleAdminChanged(bytes32,bytes32,bytes32)": { - "details": "Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._" - }, - "RoleGranted(bytes32,address,address)": { - "details": "Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}." - }, - "RoleRevoked(bytes32,address,address)": { - "details": "Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)" - } - }, - "kind": "dev", - "methods": { - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}." - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role." - } - }, - "version": 1 - }, - "offset": [ - 209, - 2919 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "2b849a2b0daaf0a0bc7173bb5c866ea5bd2e7ba6", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/IAccessControl.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver.json deleted file mode 100644 index 27659c6c..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver.json +++ /dev/null @@ -1,672 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "allSourcePaths": { - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "exportedSymbols": { - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ] - }, - "id": 3838, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3798, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "118:23:12" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "file": "../../utils/introspection/IERC165.sol", - "id": 3799, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3838, - "sourceUnit": 10296, - "src": "143:47:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3801, - "name": "IERC165", - "nameLocations": [ - "262:7:12" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10295, - "src": "262:7:12" - }, - "id": 3802, - "nodeType": "InheritanceSpecifier", - "src": "262:7:12" - } - ], - "canonicalName": "IERC1155Receiver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 3800, - "nodeType": "StructuredDocumentation", - "src": "192:39:12", - "text": " @dev _Available since v3.1._" - }, - "fullyImplemented": false, - "id": 3837, - "linearizedBaseContracts": [ - 3837, - 10295 - ], - "name": "IERC1155Receiver", - "nameLocation": "242:16:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 3803, - "nodeType": "StructuredDocumentation", - "src": "276:826:12", - "text": " @dev Handles the receipt of a single ERC1155 token type. This function is\n called at the end of a `safeTransferFrom` after the balance has been updated.\n NOTE: To accept the transfer, this must return\n `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n (i.e. 0xf23a6e61, or its own function selector).\n @param operator The address which initiated the transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param id The ID of the token being transferred\n @param value The amount of tokens being transferred\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed" - }, - "functionSelector": "f23a6e61", - "id": 3818, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nameLocation": "1116:17:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3805, - "mutability": "mutable", - "name": "operator", - "nameLocation": "1151:8:12", - "nodeType": "VariableDeclaration", - "scope": 3818, - "src": "1143:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1143:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3807, - "mutability": "mutable", - "name": "from", - "nameLocation": "1177:4:12", - "nodeType": "VariableDeclaration", - "scope": 3818, - "src": "1169:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1169:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3809, - "mutability": "mutable", - "name": "id", - "nameLocation": "1199:2:12", - "nodeType": "VariableDeclaration", - "scope": 3818, - "src": "1191:10:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1191:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3811, - "mutability": "mutable", - "name": "value", - "nameLocation": "1219:5:12", - "nodeType": "VariableDeclaration", - "scope": 3818, - "src": "1211:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1211:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3813, - "mutability": "mutable", - "name": "data", - "nameLocation": "1249:4:12", - "nodeType": "VariableDeclaration", - "scope": 3818, - "src": "1234:19:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3812, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1234:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1133:126:12" - }, - "returnParameters": { - "id": 3817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3816, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3818, - "src": "1278:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3815, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1278:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "1277:8:12" - }, - "scope": 3837, - "src": "1107:179:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 3819, - "nodeType": "StructuredDocumentation", - "src": "1292:994:12", - "text": " @dev Handles the receipt of a multiple ERC1155 token types. This function\n is called at the end of a `safeBatchTransferFrom` after the balances have\n been updated.\n NOTE: To accept the transfer(s), this must return\n `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n (i.e. 0xbc197c81, or its own function selector).\n @param operator The address which initiated the batch transfer (i.e. msg.sender)\n @param from The address which previously owned the token\n @param ids An array containing ids of each token being transferred (order and length must match values array)\n @param values An array containing amounts of each token being transferred (order and length must match ids array)\n @param data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed" - }, - "functionSelector": "bc197c81", - "id": 3836, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nameLocation": "2300:22:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3821, - "mutability": "mutable", - "name": "operator", - "nameLocation": "2340:8:12", - "nodeType": "VariableDeclaration", - "scope": 3836, - "src": "2332:16:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2332:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3823, - "mutability": "mutable", - "name": "from", - "nameLocation": "2366:4:12", - "nodeType": "VariableDeclaration", - "scope": 3836, - "src": "2358:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2358:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3826, - "mutability": "mutable", - "name": "ids", - "nameLocation": "2399:3:12", - "nodeType": "VariableDeclaration", - "scope": 3836, - "src": "2380:22:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2380:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3825, - "nodeType": "ArrayTypeName", - "src": "2380:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3829, - "mutability": "mutable", - "name": "values", - "nameLocation": "2431:6:12", - "nodeType": "VariableDeclaration", - "scope": 3836, - "src": "2412:25:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2412:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3828, - "nodeType": "ArrayTypeName", - "src": "2412:9:12", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3831, - "mutability": "mutable", - "name": "data", - "nameLocation": "2462:4:12", - "nodeType": "VariableDeclaration", - "scope": 3836, - "src": "2447:19:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2447:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "2322:150:12" - }, - "returnParameters": { - "id": 3835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3834, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3836, - "src": "2491:6:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3833, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2491:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "2490:8:12" - }, - "scope": 3837, - "src": "2291:208:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3838, - "src": "232:2269:12", - "usedErrors": [] - } - ], - "src": "118:2384:12" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IERC1155Receiver", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "_Available since v3.1._", - "kind": "dev", - "methods": { - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "Handles the receipt of a multiple ERC1155 token types. This function is called at the end of a `safeBatchTransferFrom` after the balances have been updated. NOTE: To accept the transfer(s), this must return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` (i.e. 0xbc197c81, or its own function selector).", - "params": { - "data": "Additional data with no specified format", - "from": "The address which previously owned the token", - "ids": "An array containing ids of each token being transferred (order and length must match values array)", - "operator": "The address which initiated the batch transfer (i.e. msg.sender)", - "values": "An array containing amounts of each token being transferred (order and length must match ids array)" - }, - "returns": { - "_0": "`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed" - } - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "Handles the receipt of a single ERC1155 token type. This function is called at the end of a `safeTransferFrom` after the balance has been updated. NOTE: To accept the transfer, this must return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` (i.e. 0xf23a6e61, or its own function selector).", - "params": { - "data": "Additional data with no specified format", - "from": "The address which previously owned the token", - "id": "The ID of the token being transferred", - "operator": "The address which initiated the transfer (i.e. msg.sender)", - "value": "The amount of tokens being transferred" - }, - "returns": { - "_0": "`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed" - } - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." - } - }, - "version": 1 - }, - "offset": [ - 232, - 2501 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "596a4c8f2f7ea6bbcdf6d820e76ad33178fe6e7f", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC1155/IERC1155Receiver.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev _Available since v3.1._\n */\ninterface IERC1155Receiver is IERC165 {\n /**\n * @dev Handles the receipt of a single ERC1155 token type. This function is\n * called at the end of a `safeTransferFrom` after the balance has been updated.\n *\n * NOTE: To accept the transfer, this must return\n * `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n * (i.e. 0xf23a6e61, or its own function selector).\n *\n * @param operator The address which initiated the transfer (i.e. msg.sender)\n * @param from The address which previously owned the token\n * @param id The ID of the token being transferred\n * @param value The amount of tokens being transferred\n * @param data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))` if transfer is allowed\n */\n function onERC1155Received(\n address operator,\n address from,\n uint256 id,\n uint256 value,\n bytes calldata data\n ) external returns (bytes4);\n\n /**\n * @dev Handles the receipt of a multiple ERC1155 token types. This function\n * is called at the end of a `safeBatchTransferFrom` after the balances have\n * been updated.\n *\n * NOTE: To accept the transfer(s), this must return\n * `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n * (i.e. 0xbc197c81, or its own function selector).\n *\n * @param operator The address which initiated the batch transfer (i.e. msg.sender)\n * @param from The address which previously owned the token\n * @param ids An array containing ids of each token being transferred (order and length must match values array)\n * @param values An array containing amounts of each token being transferred (order and length must match ids array)\n * @param data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` if transfer is allowed\n */\n function onERC1155BatchReceived(\n address operator,\n address from,\n uint256[] calldata ids,\n uint256[] calldata values,\n bytes calldata data\n ) external returns (bytes4);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165.json deleted file mode 100644 index 9312b3a3..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "allSourcePaths": { - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 10295 - ] - }, - "id": 10296, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10285, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "100:23:29" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC165", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 10286, - "nodeType": "StructuredDocumentation", - "src": "125:279:29", - "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." - }, - "fullyImplemented": false, - "id": 10295, - "linearizedBaseContracts": [ - 10295 - ], - "name": "IERC165", - "nameLocation": "415:7:29", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 10287, - "nodeType": "StructuredDocumentation", - "src": "429:340:29", - "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." - }, - "functionSelector": "01ffc9a7", - "id": 10294, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "783:17:29", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10289, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "808:11:29", - "nodeType": "VariableDeclaration", - "scope": 10294, - "src": "801:18:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 10288, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "801:6:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "800:20:29" - }, - "returnParameters": { - "id": 10293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10292, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10294, - "src": "844:4:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10291, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "844:4:29", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "843:6:29" - }, - "scope": 10295, - "src": "774:76:29", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 10296, - "src": "405:447:29", - "usedErrors": [] - } - ], - "src": "100:753:29" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IERC165", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.", - "kind": "dev", - "methods": { - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." - } - }, - "version": 1 - }, - "offset": [ - 405, - 852 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "d9d927f913d1d062ea9931d132a2f49f5e0cc423", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20.json deleted file mode 100644 index e42e999d..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20.json +++ /dev/null @@ -1,1168 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "17": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 11634 - ] - }, - "id": 11635, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11558, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "106:23:17" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC20", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 11559, - "nodeType": "StructuredDocumentation", - "src": "131:70:17", - "text": " @dev Interface of the ERC20 standard as defined in the EIP." - }, - "fullyImplemented": false, - "id": 11634, - "linearizedBaseContracts": [ - 11634 - ], - "name": "IERC20", - "nameLocation": "212:6:17", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 11560, - "nodeType": "StructuredDocumentation", - "src": "225:158:17", - "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." - }, - "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 11568, - "name": "Transfer", - "nameLocation": "394:8:17", - "nodeType": "EventDefinition", - "parameters": { - "id": 11567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11562, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "419:4:17", - "nodeType": "VariableDeclaration", - "scope": 11568, - "src": "403:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11561, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "403:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11564, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "441:2:17", - "nodeType": "VariableDeclaration", - "scope": 11568, - "src": "425:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11563, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "425:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11566, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "453:5:17", - "nodeType": "VariableDeclaration", - "scope": 11568, - "src": "445:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "445:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "402:57:17" - }, - "src": "388:72:17" - }, - { - "anonymous": false, - "documentation": { - "id": 11569, - "nodeType": "StructuredDocumentation", - "src": "466:148:17", - "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." - }, - "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "id": 11577, - "name": "Approval", - "nameLocation": "625:8:17", - "nodeType": "EventDefinition", - "parameters": { - "id": 11576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11571, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "650:5:17", - "nodeType": "VariableDeclaration", - "scope": 11577, - "src": "634:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "634:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11573, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nameLocation": "673:7:17", - "nodeType": "VariableDeclaration", - "scope": 11577, - "src": "657:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11572, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "657:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11575, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "690:5:17", - "nodeType": "VariableDeclaration", - "scope": 11577, - "src": "682:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "682:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "633:63:17" - }, - "src": "619:78:17" - }, - { - "documentation": { - "id": 11578, - "nodeType": "StructuredDocumentation", - "src": "703:66:17", - "text": " @dev Returns the amount of tokens in existence." - }, - "functionSelector": "18160ddd", - "id": 11583, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "783:11:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11579, - "nodeType": "ParameterList", - "parameters": [], - "src": "794:2:17" - }, - "returnParameters": { - "id": 11582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11581, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11583, - "src": "820:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "820:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "819:9:17" - }, - "scope": 11634, - "src": "774:55:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11584, - "nodeType": "StructuredDocumentation", - "src": "835:72:17", - "text": " @dev Returns the amount of tokens owned by `account`." - }, - "functionSelector": "70a08231", - "id": 11591, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "921:9:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11586, - "mutability": "mutable", - "name": "account", - "nameLocation": "939:7:17", - "nodeType": "VariableDeclaration", - "scope": 11591, - "src": "931:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11585, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "931:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "930:17:17" - }, - "returnParameters": { - "id": 11590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11589, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11591, - "src": "971:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "971:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "970:9:17" - }, - "scope": 11634, - "src": "912:68:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11592, - "nodeType": "StructuredDocumentation", - "src": "986:202:17", - "text": " @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "a9059cbb", - "id": 11601, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "1202:8:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11594, - "mutability": "mutable", - "name": "to", - "nameLocation": "1219:2:17", - "nodeType": "VariableDeclaration", - "scope": 11601, - "src": "1211:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11593, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11596, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1231:6:17", - "nodeType": "VariableDeclaration", - "scope": 11601, - "src": "1223:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1223:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1210:28:17" - }, - "returnParameters": { - "id": 11600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11599, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11601, - "src": "1257:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11598, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1257:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1256:6:17" - }, - "scope": 11634, - "src": "1193:70:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11602, - "nodeType": "StructuredDocumentation", - "src": "1269:264:17", - "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." - }, - "functionSelector": "dd62ed3e", - "id": 11611, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "1547:9:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11604, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1565:5:17", - "nodeType": "VariableDeclaration", - "scope": 11611, - "src": "1557:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1557:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11606, - "mutability": "mutable", - "name": "spender", - "nameLocation": "1580:7:17", - "nodeType": "VariableDeclaration", - "scope": 11611, - "src": "1572:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11605, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1572:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1556:32:17" - }, - "returnParameters": { - "id": 11610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11609, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11611, - "src": "1612:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1612:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1611:9:17" - }, - "scope": 11634, - "src": "1538:83:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11612, - "nodeType": "StructuredDocumentation", - "src": "1627:642:17", - "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." - }, - "functionSelector": "095ea7b3", - "id": 11621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "2283:7:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11614, - "mutability": "mutable", - "name": "spender", - "nameLocation": "2299:7:17", - "nodeType": "VariableDeclaration", - "scope": 11621, - "src": "2291:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11613, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2291:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11616, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2316:6:17", - "nodeType": "VariableDeclaration", - "scope": 11621, - "src": "2308:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2308:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2290:33:17" - }, - "returnParameters": { - "id": 11620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11619, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11621, - "src": "2342:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11618, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2342:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2341:6:17" - }, - "scope": 11634, - "src": "2274:74:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11622, - "nodeType": "StructuredDocumentation", - "src": "2354:287:17", - "text": " @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "23b872dd", - "id": 11633, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "2655:12:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11624, - "mutability": "mutable", - "name": "from", - "nameLocation": "2685:4:17", - "nodeType": "VariableDeclaration", - "scope": 11633, - "src": "2677:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11623, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11626, - "mutability": "mutable", - "name": "to", - "nameLocation": "2707:2:17", - "nodeType": "VariableDeclaration", - "scope": 11633, - "src": "2699:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11625, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2699:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11628, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2727:6:17", - "nodeType": "VariableDeclaration", - "scope": 11633, - "src": "2719:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2719:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2667:72:17" - }, - "returnParameters": { - "id": 11632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11631, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11633, - "src": "2758:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 11630, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2758:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2757:6:17" - }, - "scope": 11634, - "src": "2646:118:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11635, - "src": "202:2564:17", - "usedErrors": [] - } - ], - "src": "106:2661:17" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IERC20", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Interface of the ERC20 standard as defined in the EIP.", - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." - } - }, - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "offset": [ - 202, - 2766 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "3f8f9d66083281998547ead9e2a599f5e3d049f8", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Metadata.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Metadata.json deleted file mode 100644 index 7391b3b3..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Metadata.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "17": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "18": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/extensions/IERC20Metadata.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "exportedSymbols": { - "IERC20": [ - 11634 - ], - "IERC20Metadata": [ - 11659 - ] - }, - "id": 11660, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11636, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "110:23:18" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/IERC20.sol", - "file": "../IERC20.sol", - "id": 11637, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 11660, - "sourceUnit": 11635, - "src": "135:23:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 11639, - "name": "IERC20", - "nameLocations": [ - "305:6:18" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 11634, - "src": "305:6:18" - }, - "id": 11640, - "nodeType": "InheritanceSpecifier", - "src": "305:6:18" - } - ], - "canonicalName": "IERC20Metadata", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 11638, - "nodeType": "StructuredDocumentation", - "src": "160:116:18", - "text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._" - }, - "fullyImplemented": false, - "id": 11659, - "linearizedBaseContracts": [ - 11659, - 11634 - ], - "name": "IERC20Metadata", - "nameLocation": "287:14:18", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 11641, - "nodeType": "StructuredDocumentation", - "src": "318:54:18", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 11646, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "386:4:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11642, - "nodeType": "ParameterList", - "parameters": [], - "src": "390:2:18" - }, - "returnParameters": { - "id": 11645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11644, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11646, - "src": "416:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 11643, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "416:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "415:15:18" - }, - "scope": 11659, - "src": "377:54:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11647, - "nodeType": "StructuredDocumentation", - "src": "437:56:18", - "text": " @dev Returns the symbol of the token." - }, - "functionSelector": "95d89b41", - "id": 11652, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "507:6:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11648, - "nodeType": "ParameterList", - "parameters": [], - "src": "513:2:18" - }, - "returnParameters": { - "id": 11651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11650, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11652, - "src": "539:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 11649, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "539:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "538:15:18" - }, - "scope": 11659, - "src": "498:56:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11653, - "nodeType": "StructuredDocumentation", - "src": "560:65:18", - "text": " @dev Returns the decimals places of the token." - }, - "functionSelector": "313ce567", - "id": 11658, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "639:8:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11654, - "nodeType": "ParameterList", - "parameters": [], - "src": "647:2:18" - }, - "returnParameters": { - "id": 11657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11656, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11658, - "src": "673:5:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11655, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "673:5:18", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "672:7:18" - }, - "scope": 11659, - "src": "630:50:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11660, - "src": "277:405:18", - "usedErrors": [] - } - ], - "src": "110:573:18" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IERC20Metadata", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._", - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "decimals()": { - "details": "Returns the decimals places of the token." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "offset": [ - 277, - 682 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "87b62db9a86c0b9bbc58b51d0d2ae7a8b7688800", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Permit.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Permit.json deleted file mode 100644 index 086a617d..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC20Permit.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "16": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-IERC20Permit.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-IERC20Permit.sol", - "exportedSymbols": { - "IERC20Permit": [ - 11409 - ] - }, - "id": 11410, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 11375, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "114:23:16" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC20Permit", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 11376, - "nodeType": "StructuredDocumentation", - "src": "139:480:16", - "text": " @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all." - }, - "fullyImplemented": false, - "id": 11409, - "linearizedBaseContracts": [ - 11409 - ], - "name": "IERC20Permit", - "nameLocation": "630:12:16", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 11377, - "nodeType": "StructuredDocumentation", - "src": "649:792:16", - "text": " @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]." - }, - "functionSelector": "d505accf", - "id": 11394, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nameLocation": "1455:6:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11379, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1479:5:16", - "nodeType": "VariableDeclaration", - "scope": 11394, - "src": "1471:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11381, - "mutability": "mutable", - "name": "spender", - "nameLocation": "1502:7:16", - "nodeType": "VariableDeclaration", - "scope": 11394, - "src": "1494:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1494:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11383, - "mutability": "mutable", - "name": "value", - "nameLocation": "1527:5:16", - "nodeType": "VariableDeclaration", - "scope": 11394, - "src": "1519:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1519:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11385, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "1550:8:16", - "nodeType": "VariableDeclaration", - "scope": 11394, - "src": "1542:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11384, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1542:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11387, - "mutability": "mutable", - "name": "v", - "nameLocation": "1574:1:16", - "nodeType": "VariableDeclaration", - "scope": 11394, - "src": "1568:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 11386, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1568:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11389, - "mutability": "mutable", - "name": "r", - "nameLocation": "1593:1:16", - "nodeType": "VariableDeclaration", - "scope": 11394, - "src": "1585:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11388, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1585:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11391, - "mutability": "mutable", - "name": "s", - "nameLocation": "1612:1:16", - "nodeType": "VariableDeclaration", - "scope": 11394, - "src": "1604:9:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11390, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1604:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1461:158:16" - }, - "returnParameters": { - "id": 11393, - "nodeType": "ParameterList", - "parameters": [], - "src": "1628:0:16" - }, - "scope": 11409, - "src": "1446:183:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11395, - "nodeType": "StructuredDocumentation", - "src": "1635:294:16", - "text": " @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times." - }, - "functionSelector": "7ecebe00", - "id": 11402, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nameLocation": "1943:6:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11397, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1958:5:16", - "nodeType": "VariableDeclaration", - "scope": 11402, - "src": "1950:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 11396, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1950:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1949:15:16" - }, - "returnParameters": { - "id": 11401, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11400, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11402, - "src": "1988:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1988:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1987:9:16" - }, - "scope": 11409, - "src": "1934:63:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 11403, - "nodeType": "StructuredDocumentation", - "src": "2003:128:16", - "text": " @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}." - }, - "functionSelector": "3644e515", - "id": 11408, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nameLocation": "2198:16:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 11404, - "nodeType": "ParameterList", - "parameters": [], - "src": "2214:2:16" - }, - "returnParameters": { - "id": 11407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11406, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 11408, - "src": "2240:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 11405, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2240:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2239:9:16" - }, - "scope": 11409, - "src": "2189:60:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 11410, - "src": "620:1631:16", - "usedErrors": [] - } - ], - "src": "114:2138:16" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IERC20Permit", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.", - "kind": "dev", - "methods": { - "DOMAIN_SEPARATOR()": { - "details": "Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}." - }, - "nonces(address)": { - "details": "Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times." - }, - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": { - "details": "Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]." - } - }, - "version": 1 - }, - "offset": [ - 620, - 2251 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "ad1343d6b9d677955bc4fab0aa009110b95f76fe", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also apply here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC20/Extensions/draft-IERC20Permit.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver.json deleted file mode 100644 index 2ab09a5a..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver.json +++ /dev/null @@ -1,305 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 3855 - ] - }, - "id": 3856, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3839, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "116:23:19" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC721Receiver", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 3840, - "nodeType": "StructuredDocumentation", - "src": "141:152:19", - "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts." - }, - "fullyImplemented": false, - "id": 3855, - "linearizedBaseContracts": [ - 3855 - ], - "name": "IERC721Receiver", - "nameLocation": "304:15:19", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 3841, - "nodeType": "StructuredDocumentation", - "src": "326:493:19", - "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." - }, - "functionSelector": "150b7a02", - "id": 3854, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "833:16:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3843, - "mutability": "mutable", - "name": "operator", - "nameLocation": "867:8:19", - "nodeType": "VariableDeclaration", - "scope": 3854, - "src": "859:16:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3842, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "859:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3845, - "mutability": "mutable", - "name": "from", - "nameLocation": "893:4:19", - "nodeType": "VariableDeclaration", - "scope": 3854, - "src": "885:12:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3847, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "915:7:19", - "nodeType": "VariableDeclaration", - "scope": 3854, - "src": "907:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3849, - "mutability": "mutable", - "name": "data", - "nameLocation": "947:4:19", - "nodeType": "VariableDeclaration", - "scope": 3854, - "src": "932:19:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3848, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "932:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "849:108:19" - }, - "returnParameters": { - "id": 3853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3852, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3854, - "src": "976:6:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3851, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "976:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "975:8:19" - }, - "scope": 3855, - "src": "824:160:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3856, - "src": "294:692:19", - "usedErrors": [] - } - ], - "src": "116:871:19" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IERC721Receiver", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.", - "kind": "dev", - "methods": { - "onERC721Received(address,address,uint256,bytes)": { - "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." - } - }, - "title": "ERC721 token receiver interface", - "version": 1 - }, - "offset": [ - 294, - 986 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "814675660e7b7a8dec20898bef80ef03e69bd4b2", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor.json deleted file mode 100644 index dae3c1cd..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor.json +++ /dev/null @@ -1,4259 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "allSourcePaths": { - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "exportedSymbols": { - "ERC165": [ - 4960 - ], - "IERC165": [ - 10295 - ], - "IGovernor": [ - 3796 - ] - }, - "id": 3797, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3501, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "108:23:3" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "file": "../utils/introspection/ERC165.sol", - "id": 3502, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3797, - "sourceUnit": 4961, - "src": "133:43:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 3504, - "name": "IERC165", - "nameLocations": [ - "289:7:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10295, - "src": "289:7:3" - }, - "id": 3505, - "nodeType": "InheritanceSpecifier", - "src": "289:7:3" - } - ], - "canonicalName": "IGovernor", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 3503, - "nodeType": "StructuredDocumentation", - "src": "178:79:3", - "text": " @dev Interface of the {Governor} core.\n _Available since v4.3._" - }, - "fullyImplemented": false, - "id": 3796, - "linearizedBaseContracts": [ - 3796, - 10295 - ], - "name": "IGovernor", - "nameLocation": "276:9:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "IGovernor.ProposalState", - "id": 3514, - "members": [ - { - "id": 3506, - "name": "Pending", - "nameLocation": "332:7:3", - "nodeType": "EnumValue", - "src": "332:7:3" - }, - { - "id": 3507, - "name": "Active", - "nameLocation": "349:6:3", - "nodeType": "EnumValue", - "src": "349:6:3" - }, - { - "id": 3508, - "name": "Canceled", - "nameLocation": "365:8:3", - "nodeType": "EnumValue", - "src": "365:8:3" - }, - { - "id": 3509, - "name": "Defeated", - "nameLocation": "383:8:3", - "nodeType": "EnumValue", - "src": "383:8:3" - }, - { - "id": 3510, - "name": "Succeeded", - "nameLocation": "401:9:3", - "nodeType": "EnumValue", - "src": "401:9:3" - }, - { - "id": 3511, - "name": "Queued", - "nameLocation": "420:6:3", - "nodeType": "EnumValue", - "src": "420:6:3" - }, - { - "id": 3512, - "name": "Expired", - "nameLocation": "436:7:3", - "nodeType": "EnumValue", - "src": "436:7:3" - }, - { - "id": 3513, - "name": "Executed", - "nameLocation": "453:8:3", - "nodeType": "EnumValue", - "src": "453:8:3" - } - ], - "name": "ProposalState", - "nameLocation": "308:13:3", - "nodeType": "EnumDefinition", - "src": "303:164:3" - }, - { - "anonymous": false, - "documentation": { - "id": 3515, - "nodeType": "StructuredDocumentation", - "src": "473:59:3", - "text": " @dev Emitted when a proposal is created." - }, - "eventSelector": "7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e0", - "id": 3539, - "name": "ProposalCreated", - "nameLocation": "543:15:3", - "nodeType": "EventDefinition", - "parameters": { - "id": 3538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3517, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "576:10:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "568:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "568:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3519, - "indexed": false, - "mutability": "mutable", - "name": "proposer", - "nameLocation": "604:8:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "596:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3518, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "596:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3522, - "indexed": false, - "mutability": "mutable", - "name": "targets", - "nameLocation": "632:7:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "622:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3520, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "622:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3521, - "nodeType": "ArrayTypeName", - "src": "622:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3525, - "indexed": false, - "mutability": "mutable", - "name": "values", - "nameLocation": "659:6:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "649:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "649:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3524, - "nodeType": "ArrayTypeName", - "src": "649:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3528, - "indexed": false, - "mutability": "mutable", - "name": "signatures", - "nameLocation": "684:10:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "675:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 3526, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "675:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 3527, - "nodeType": "ArrayTypeName", - "src": "675:8:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3531, - "indexed": false, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "712:9:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "704:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 3529, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "704:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 3530, - "nodeType": "ArrayTypeName", - "src": "704:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3533, - "indexed": false, - "mutability": "mutable", - "name": "startBlock", - "nameLocation": "739:10:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "731:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "731:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3535, - "indexed": false, - "mutability": "mutable", - "name": "endBlock", - "nameLocation": "767:8:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "759:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3534, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "759:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3537, - "indexed": false, - "mutability": "mutable", - "name": "description", - "nameLocation": "792:11:3", - "nodeType": "VariableDeclaration", - "scope": 3539, - "src": "785:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3536, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "785:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "558:251:3" - }, - "src": "537:273:3" - }, - { - "anonymous": false, - "documentation": { - "id": 3540, - "nodeType": "StructuredDocumentation", - "src": "816:60:3", - "text": " @dev Emitted when a proposal is canceled." - }, - "eventSelector": "789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c", - "id": 3544, - "name": "ProposalCanceled", - "nameLocation": "887:16:3", - "nodeType": "EventDefinition", - "parameters": { - "id": 3543, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3542, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "912:10:3", - "nodeType": "VariableDeclaration", - "scope": 3544, - "src": "904:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "904:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "903:20:3" - }, - "src": "881:43:3" - }, - { - "anonymous": false, - "documentation": { - "id": 3545, - "nodeType": "StructuredDocumentation", - "src": "930:60:3", - "text": " @dev Emitted when a proposal is executed." - }, - "eventSelector": "712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f", - "id": 3549, - "name": "ProposalExecuted", - "nameLocation": "1001:16:3", - "nodeType": "EventDefinition", - "parameters": { - "id": 3548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3547, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1026:10:3", - "nodeType": "VariableDeclaration", - "scope": 3549, - "src": "1018:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1018:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1017:20:3" - }, - "src": "995:43:3" - }, - { - "anonymous": false, - "documentation": { - "id": 3550, - "nodeType": "StructuredDocumentation", - "src": "1044:187:3", - "text": " @dev Emitted when a vote is cast without params.\n Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used." - }, - "eventSelector": "b8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4", - "id": 3562, - "name": "VoteCast", - "nameLocation": "1242:8:3", - "nodeType": "EventDefinition", - "parameters": { - "id": 3561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3552, - "indexed": true, - "mutability": "mutable", - "name": "voter", - "nameLocation": "1267:5:3", - "nodeType": "VariableDeclaration", - "scope": 3562, - "src": "1251:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1251:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3554, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1282:10:3", - "nodeType": "VariableDeclaration", - "scope": 3562, - "src": "1274:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1274:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3556, - "indexed": false, - "mutability": "mutable", - "name": "support", - "nameLocation": "1300:7:3", - "nodeType": "VariableDeclaration", - "scope": 3562, - "src": "1294:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3555, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1294:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3558, - "indexed": false, - "mutability": "mutable", - "name": "weight", - "nameLocation": "1317:6:3", - "nodeType": "VariableDeclaration", - "scope": 3562, - "src": "1309:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3557, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3560, - "indexed": false, - "mutability": "mutable", - "name": "reason", - "nameLocation": "1332:6:3", - "nodeType": "VariableDeclaration", - "scope": 3562, - "src": "1325:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3559, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1325:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1250:89:3" - }, - "src": "1236:104:3" - }, - { - "anonymous": false, - "documentation": { - "id": 3563, - "nodeType": "StructuredDocumentation", - "src": "1346:297:3", - "text": " @dev Emitted when a vote is cast with params.\n Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n `params` are additional encoded parameters. Their intepepretation also depends on the voting module used." - }, - "eventSelector": "e2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb8712", - "id": 3577, - "name": "VoteCastWithParams", - "nameLocation": "1654:18:3", - "nodeType": "EventDefinition", - "parameters": { - "id": 3576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3565, - "indexed": true, - "mutability": "mutable", - "name": "voter", - "nameLocation": "1698:5:3", - "nodeType": "VariableDeclaration", - "scope": 3577, - "src": "1682:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3564, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1682:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3567, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1721:10:3", - "nodeType": "VariableDeclaration", - "scope": 3577, - "src": "1713:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1713:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3569, - "indexed": false, - "mutability": "mutable", - "name": "support", - "nameLocation": "1747:7:3", - "nodeType": "VariableDeclaration", - "scope": 3577, - "src": "1741:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3568, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1741:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3571, - "indexed": false, - "mutability": "mutable", - "name": "weight", - "nameLocation": "1772:6:3", - "nodeType": "VariableDeclaration", - "scope": 3577, - "src": "1764:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1764:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3573, - "indexed": false, - "mutability": "mutable", - "name": "reason", - "nameLocation": "1795:6:3", - "nodeType": "VariableDeclaration", - "scope": 3577, - "src": "1788:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1788:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3575, - "indexed": false, - "mutability": "mutable", - "name": "params", - "nameLocation": "1817:6:3", - "nodeType": "VariableDeclaration", - "scope": 3577, - "src": "1811:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3574, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1811:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1672:157:3" - }, - "src": "1648:182:3" - }, - { - "documentation": { - "id": 3578, - "nodeType": "StructuredDocumentation", - "src": "1836:128:3", - "text": " @notice module:core\n @dev Name of the governor instance (used in building the ERC712 domain separator)." - }, - "functionSelector": "06fdde03", - "id": 3583, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "1978:4:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3579, - "nodeType": "ParameterList", - "parameters": [], - "src": "1982:2:3" - }, - "returnParameters": { - "id": 3582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3581, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3583, - "src": "2014:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3580, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2014:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2013:15:3" - }, - "scope": 3796, - "src": "1969:60:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3584, - "nodeType": "StructuredDocumentation", - "src": "2035:144:3", - "text": " @notice module:core\n @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"" - }, - "functionSelector": "54fd4d50", - "id": 3589, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "version", - "nameLocation": "2193:7:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3585, - "nodeType": "ParameterList", - "parameters": [], - "src": "2200:2:3" - }, - "returnParameters": { - "id": 3588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3587, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3589, - "src": "2232:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3586, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2232:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2231:15:3" - }, - "scope": 3796, - "src": "2184:63:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3590, - "nodeType": "StructuredDocumentation", - "src": "2253:1315:3", - "text": " @notice module:voting\n @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n There are 2 standard keys: `support` and `quorum`.\n - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n - `quorum=bravo` means that only For votes are counted towards quorum.\n - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique\n name that describes the behavior. For example:\n - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n NOTE: The string can be decoded by the standard\n https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n JavaScript class." - }, - "functionSelector": "dd4e2ba5", - "id": 3595, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "COUNTING_MODE", - "nameLocation": "3635:13:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3591, - "nodeType": "ParameterList", - "parameters": [], - "src": "3648:2:3" - }, - "returnParameters": { - "id": 3594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3593, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3595, - "src": "3680:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3592, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3680:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3679:15:3" - }, - "scope": 3796, - "src": "3626:69:3", - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3596, - "nodeType": "StructuredDocumentation", - "src": "3701:129:3", - "text": " @notice module:core\n @dev Hashing function used to (re)build the proposal id from the proposal details.." - }, - "functionSelector": "c59057e4", - "id": 3612, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "hashProposal", - "nameLocation": "3844:12:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3599, - "mutability": "mutable", - "name": "targets", - "nameLocation": "3883:7:3", - "nodeType": "VariableDeclaration", - "scope": 3612, - "src": "3866:24:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3866:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3598, - "nodeType": "ArrayTypeName", - "src": "3866:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3602, - "mutability": "mutable", - "name": "values", - "nameLocation": "3917:6:3", - "nodeType": "VariableDeclaration", - "scope": 3612, - "src": "3900:23:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3900:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3601, - "nodeType": "ArrayTypeName", - "src": "3900:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3605, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "3948:9:3", - "nodeType": "VariableDeclaration", - "scope": 3612, - "src": "3933:24:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 3603, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3933:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 3604, - "nodeType": "ArrayTypeName", - "src": "3933:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3607, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "3975:15:3", - "nodeType": "VariableDeclaration", - "scope": 3612, - "src": "3967:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3606, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3967:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3856:140:3" - }, - "returnParameters": { - "id": 3611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3610, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3612, - "src": "4026:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4026:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4025:9:3" - }, - "scope": 3796, - "src": "3835:200:3", - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3613, - "nodeType": "StructuredDocumentation", - "src": "4041:111:3", - "text": " @notice module:core\n @dev Current state of a proposal, following Compound's convention" - }, - "functionSelector": "3e4f49e6", - "id": 3621, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "state", - "nameLocation": "4166:5:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3615, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4180:10:3", - "nodeType": "VariableDeclaration", - "scope": 3621, - "src": "4172:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3614, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4172:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4171:20:3" - }, - "returnParameters": { - "id": 3620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3619, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3621, - "src": "4221:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - }, - "typeName": { - "id": 3618, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3617, - "name": "ProposalState", - "nameLocations": [ - "4221:13:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3514, - "src": "4221:13:3" - }, - "referencedDeclaration": 3514, - "src": "4221:13:3", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalState_$3514", - "typeString": "enum IGovernor.ProposalState" - } - }, - "visibility": "internal" - } - ], - "src": "4220:15:3" - }, - "scope": 3796, - "src": "4157:79:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3622, - "nodeType": "StructuredDocumentation", - "src": "4242:305:3", - "text": " @notice module:core\n @dev Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's\n ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the\n beginning of the following block." - }, - "functionSelector": "2d63f693", - "id": 3629, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "proposalSnapshot", - "nameLocation": "4561:16:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3625, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3624, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4586:10:3", - "nodeType": "VariableDeclaration", - "scope": 3629, - "src": "4578:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4578:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4577:20:3" - }, - "returnParameters": { - "id": 3628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3627, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3629, - "src": "4627:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3626, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4627:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4626:9:3" - }, - "scope": 3796, - "src": "4552:84:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3630, - "nodeType": "StructuredDocumentation", - "src": "4642:182:3", - "text": " @notice module:core\n @dev Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote\n during this block." - }, - "functionSelector": "c01f9e37", - "id": 3637, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "proposalDeadline", - "nameLocation": "4838:16:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3632, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4863:10:3", - "nodeType": "VariableDeclaration", - "scope": 3637, - "src": "4855:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3631, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4855:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4854:20:3" - }, - "returnParameters": { - "id": 3636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3635, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3637, - "src": "4904:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3634, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4904:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4903:9:3" - }, - "scope": 3796, - "src": "4829:84:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3638, - "nodeType": "StructuredDocumentation", - "src": "4919:268:3", - "text": " @notice module:user-config\n @dev Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to\n leave time for users to buy voting power, or delegate it, before the voting of a proposal starts." - }, - "functionSelector": "3932abb1", - "id": 3643, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "votingDelay", - "nameLocation": "5201:11:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3639, - "nodeType": "ParameterList", - "parameters": [], - "src": "5212:2:3" - }, - "returnParameters": { - "id": 3642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3641, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3643, - "src": "5244:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5244:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5243:9:3" - }, - "scope": 3796, - "src": "5192:61:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3644, - "nodeType": "StructuredDocumentation", - "src": "5259:288:3", - "text": " @notice module:user-config\n @dev Delay, in number of blocks, between the vote start and vote ends.\n NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n duration compared to the voting delay." - }, - "functionSelector": "02a251a3", - "id": 3649, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "votingPeriod", - "nameLocation": "5561:12:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3645, - "nodeType": "ParameterList", - "parameters": [], - "src": "5573:2:3" - }, - "returnParameters": { - "id": 3648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3647, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3649, - "src": "5605:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5605:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5604:9:3" - }, - "scope": 3796, - "src": "5552:62:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3650, - "nodeType": "StructuredDocumentation", - "src": "5620:356:3", - "text": " @notice module:user-config\n @dev Minimum number of cast voted required for a proposal to be successful.\n Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes})." - }, - "functionSelector": "f8ce560a", - "id": 3657, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "quorum", - "nameLocation": "5990:6:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3652, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "6005:11:3", - "nodeType": "VariableDeclaration", - "scope": 3657, - "src": "5997:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5997:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5996:21:3" - }, - "returnParameters": { - "id": 3656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3655, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3657, - "src": "6047:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3654, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6047:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6046:9:3" - }, - "scope": 3796, - "src": "5981:75:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3658, - "nodeType": "StructuredDocumentation", - "src": "6062:276:3", - "text": " @notice module:reputation\n @dev Voting power of an `account` at a specific `blockNumber`.\n Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n multiple), {ERC20Votes} tokens." - }, - "functionSelector": "eb9019d4", - "id": 3667, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getVotes", - "nameLocation": "6352:8:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3660, - "mutability": "mutable", - "name": "account", - "nameLocation": "6369:7:3", - "nodeType": "VariableDeclaration", - "scope": 3667, - "src": "6361:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3659, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6361:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3662, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "6386:11:3", - "nodeType": "VariableDeclaration", - "scope": 3667, - "src": "6378:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6378:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6360:38:3" - }, - "returnParameters": { - "id": 3666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3665, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3667, - "src": "6428:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6428:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6427:9:3" - }, - "scope": 3796, - "src": "6343:94:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3668, - "nodeType": "StructuredDocumentation", - "src": "6443:150:3", - "text": " @notice module:reputation\n @dev Voting power of an `account` at a specific `blockNumber` given additional encoded parameters." - }, - "functionSelector": "9a802a6d", - "id": 3679, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getVotesWithParams", - "nameLocation": "6607:18:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3670, - "mutability": "mutable", - "name": "account", - "nameLocation": "6643:7:3", - "nodeType": "VariableDeclaration", - "scope": 3679, - "src": "6635:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6635:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3672, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "6668:11:3", - "nodeType": "VariableDeclaration", - "scope": 3679, - "src": "6660:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6660:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3674, - "mutability": "mutable", - "name": "params", - "nameLocation": "6702:6:3", - "nodeType": "VariableDeclaration", - "scope": 3679, - "src": "6689:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3673, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6689:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "6625:89:3" - }, - "returnParameters": { - "id": 3678, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3677, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3679, - "src": "6744:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3676, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6744:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6743:9:3" - }, - "scope": 3796, - "src": "6598:155:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3680, - "nodeType": "StructuredDocumentation", - "src": "6759:111:3", - "text": " @notice module:voting\n @dev Returns whether `account` has cast a vote on `proposalId`." - }, - "functionSelector": "43859632", - "id": 3689, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "hasVoted", - "nameLocation": "6884:8:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3685, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3682, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "6901:10:3", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "6893:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6893:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3684, - "mutability": "mutable", - "name": "account", - "nameLocation": "6921:7:3", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "6913:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3683, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6913:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6892:37:3" - }, - "returnParameters": { - "id": 3688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3687, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3689, - "src": "6959:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3686, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6959:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6958:6:3" - }, - "scope": 3796, - "src": "6875:90:3", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3690, - "nodeType": "StructuredDocumentation", - "src": "6971:238:3", - "text": " @dev Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends\n {IGovernor-votingPeriod} blocks after the voting starts.\n Emits a {ProposalCreated} event." - }, - "functionSelector": "7d5e81e2", - "id": 3706, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "propose", - "nameLocation": "7223:7:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3693, - "mutability": "mutable", - "name": "targets", - "nameLocation": "7257:7:3", - "nodeType": "VariableDeclaration", - "scope": 3706, - "src": "7240:24:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7240:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3692, - "nodeType": "ArrayTypeName", - "src": "7240:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3696, - "mutability": "mutable", - "name": "values", - "nameLocation": "7291:6:3", - "nodeType": "VariableDeclaration", - "scope": 3706, - "src": "7274:23:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7274:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3695, - "nodeType": "ArrayTypeName", - "src": "7274:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3699, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "7322:9:3", - "nodeType": "VariableDeclaration", - "scope": 3706, - "src": "7307:24:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 3697, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7307:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 3698, - "nodeType": "ArrayTypeName", - "src": "7307:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3701, - "mutability": "mutable", - "name": "description", - "nameLocation": "7355:11:3", - "nodeType": "VariableDeclaration", - "scope": 3706, - "src": "7341:25:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3700, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7341:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "7230:142:3" - }, - "returnParameters": { - "id": 3705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3704, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "7405:10:3", - "nodeType": "VariableDeclaration", - "scope": 3706, - "src": "7397:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7397:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7396:20:3" - }, - "scope": 3796, - "src": "7214:203:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3707, - "nodeType": "StructuredDocumentation", - "src": "7423:329:3", - "text": " @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n deadline to be reached.\n Emits a {ProposalExecuted} event.\n Note: some module can modify the requirements for execution, for example by adding an additional timelock." - }, - "functionSelector": "2656227d", - "id": 3723, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "execute", - "nameLocation": "7766:7:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3719, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3710, - "mutability": "mutable", - "name": "targets", - "nameLocation": "7800:7:3", - "nodeType": "VariableDeclaration", - "scope": 3723, - "src": "7783:24:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7783:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3709, - "nodeType": "ArrayTypeName", - "src": "7783:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3713, - "mutability": "mutable", - "name": "values", - "nameLocation": "7834:6:3", - "nodeType": "VariableDeclaration", - "scope": 3723, - "src": "7817:23:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7817:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3712, - "nodeType": "ArrayTypeName", - "src": "7817:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3716, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "7865:9:3", - "nodeType": "VariableDeclaration", - "scope": 3723, - "src": "7850:24:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 3714, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7850:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 3715, - "nodeType": "ArrayTypeName", - "src": "7850:7:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3718, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "7892:15:3", - "nodeType": "VariableDeclaration", - "scope": 3723, - "src": "7884:23:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3717, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7884:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7773:140:3" - }, - "returnParameters": { - "id": 3722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3721, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "7954:10:3", - "nodeType": "VariableDeclaration", - "scope": 3723, - "src": "7946:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7946:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7945:20:3" - }, - "scope": 3796, - "src": "7757:209:3", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3724, - "nodeType": "StructuredDocumentation", - "src": "7972:75:3", - "text": " @dev Cast a vote\n Emits a {VoteCast} event." - }, - "functionSelector": "56781388", - "id": 3733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "castVote", - "nameLocation": "8061:8:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3729, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3726, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "8078:10:3", - "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "8070:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3725, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8070:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3728, - "mutability": "mutable", - "name": "support", - "nameLocation": "8096:7:3", - "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "8090:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3727, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "8090:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "8069:35:3" - }, - "returnParameters": { - "id": 3732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3731, - "mutability": "mutable", - "name": "balance", - "nameLocation": "8137:7:3", - "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "8129:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8129:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8128:17:3" - }, - "scope": 3796, - "src": "8052:94:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3734, - "nodeType": "StructuredDocumentation", - "src": "8152:89:3", - "text": " @dev Cast a vote with a reason\n Emits a {VoteCast} event." - }, - "functionSelector": "7b3c71d3", - "id": 3745, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "castVoteWithReason", - "nameLocation": "8255:18:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3741, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3736, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "8291:10:3", - "nodeType": "VariableDeclaration", - "scope": 3745, - "src": "8283:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8283:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3738, - "mutability": "mutable", - "name": "support", - "nameLocation": "8317:7:3", - "nodeType": "VariableDeclaration", - "scope": 3745, - "src": "8311:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3737, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "8311:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3740, - "mutability": "mutable", - "name": "reason", - "nameLocation": "8350:6:3", - "nodeType": "VariableDeclaration", - "scope": 3745, - "src": "8334:22:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3739, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8334:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "8273:89:3" - }, - "returnParameters": { - "id": 3744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3743, - "mutability": "mutable", - "name": "balance", - "nameLocation": "8395:7:3", - "nodeType": "VariableDeclaration", - "scope": 3745, - "src": "8387:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8387:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8386:17:3" - }, - "scope": 3796, - "src": "8246:158:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3746, - "nodeType": "StructuredDocumentation", - "src": "8410:181:3", - "text": " @dev Cast a vote with a reason and additional encoded parameters\n Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params." - }, - "functionSelector": "5f398a14", - "id": 3759, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "castVoteWithReasonAndParams", - "nameLocation": "8605:27:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3748, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "8650:10:3", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "8642:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8642:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3750, - "mutability": "mutable", - "name": "support", - "nameLocation": "8676:7:3", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "8670:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3749, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "8670:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3752, - "mutability": "mutable", - "name": "reason", - "nameLocation": "8709:6:3", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "8693:22:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3751, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8693:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3754, - "mutability": "mutable", - "name": "params", - "nameLocation": "8738:6:3", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "8725:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3753, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8632:118:3" - }, - "returnParameters": { - "id": 3758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3757, - "mutability": "mutable", - "name": "balance", - "nameLocation": "8783:7:3", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "8775:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8774:17:3" - }, - "scope": 3796, - "src": "8596:196:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3760, - "nodeType": "StructuredDocumentation", - "src": "8798:117:3", - "text": " @dev Cast a vote using the user's cryptographic signature.\n Emits a {VoteCast} event." - }, - "functionSelector": "3bccf4fd", - "id": 3775, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "castVoteBySig", - "nameLocation": "8929:13:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3762, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "8960:10:3", - "nodeType": "VariableDeclaration", - "scope": 3775, - "src": "8952:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3761, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8952:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3764, - "mutability": "mutable", - "name": "support", - "nameLocation": "8986:7:3", - "nodeType": "VariableDeclaration", - "scope": 3775, - "src": "8980:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3763, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "8980:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3766, - "mutability": "mutable", - "name": "v", - "nameLocation": "9009:1:3", - "nodeType": "VariableDeclaration", - "scope": 3775, - "src": "9003:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3765, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9003:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3768, - "mutability": "mutable", - "name": "r", - "nameLocation": "9028:1:3", - "nodeType": "VariableDeclaration", - "scope": 3775, - "src": "9020:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3767, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9020:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3770, - "mutability": "mutable", - "name": "s", - "nameLocation": "9047:1:3", - "nodeType": "VariableDeclaration", - "scope": 3775, - "src": "9039:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3769, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9039:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "8942:112:3" - }, - "returnParameters": { - "id": 3774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3773, - "mutability": "mutable", - "name": "balance", - "nameLocation": "9087:7:3", - "nodeType": "VariableDeclaration", - "scope": 3775, - "src": "9079:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9079:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9078:17:3" - }, - "scope": 3796, - "src": "8920:176:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "documentation": { - "id": 3776, - "nodeType": "StructuredDocumentation", - "src": "9102:223:3", - "text": " @dev Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature.\n Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params." - }, - "functionSelector": "03420181", - "id": 3795, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "castVoteWithReasonAndParamsBySig", - "nameLocation": "9339:32:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3778, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "9389:10:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9381:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9381:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3780, - "mutability": "mutable", - "name": "support", - "nameLocation": "9415:7:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9409:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3779, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9409:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3782, - "mutability": "mutable", - "name": "reason", - "nameLocation": "9448:6:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9432:22:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3781, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9432:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3784, - "mutability": "mutable", - "name": "params", - "nameLocation": "9477:6:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9464:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3783, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9464:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3786, - "mutability": "mutable", - "name": "v", - "nameLocation": "9499:1:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9493:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3785, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9493:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3788, - "mutability": "mutable", - "name": "r", - "nameLocation": "9518:1:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9510:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3787, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9510:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3790, - "mutability": "mutable", - "name": "s", - "nameLocation": "9537:1:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9529:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3789, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9529:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "9371:173:3" - }, - "returnParameters": { - "id": 3794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3793, - "mutability": "mutable", - "name": "balance", - "nameLocation": "9577:7:3", - "nodeType": "VariableDeclaration", - "scope": 3795, - "src": "9569:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9569:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9568:17:3" - }, - "scope": 3796, - "src": "9330:256:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 3797, - "src": "258:9330:3", - "usedErrors": [] - } - ], - "src": "108:9481:3" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IGovernor", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Interface of the {Governor} core. _Available since v4.3._", - "events": { - "ProposalCanceled(uint256)": { - "details": "Emitted when a proposal is canceled." - }, - "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": { - "details": "Emitted when a proposal is created." - }, - "ProposalExecuted(uint256)": { - "details": "Emitted when a proposal is executed." - }, - "VoteCast(address,uint256,uint8,uint256,string)": { - "details": "Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used." - }, - "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": { - "details": "Emitted when a vote is cast with params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used. `params` are additional encoded parameters. Their intepepretation also depends on the voting module used." - } - }, - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.", - "notice": "module:voting" - }, - "castVote(uint256,uint8)": { - "details": "Cast a vote Emits a {VoteCast} event." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "Cast a vote using the user's cryptographic signature. Emits a {VoteCast} event." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "Cast a vote with a reason Emits a {VoteCast} event." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "Cast a vote with a reason and additional encoded parameters Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature. Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params." - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Emits a {ProposalExecuted} event. Note: some module can modify the requirements for execution, for example by adding an additional timelock." - }, - "getVotes(address,uint256)": { - "details": "Voting power of an `account` at a specific `blockNumber`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.", - "notice": "module:reputation" - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "Voting power of an `account` at a specific `blockNumber` given additional encoded parameters.", - "notice": "module:reputation" - }, - "hasVoted(uint256,address)": { - "details": "Returns whether `account` has cast a vote on `proposalId`.", - "notice": "module:voting" - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "Hashing function used to (re)build the proposal id from the proposal details..", - "notice": "module:core" - }, - "name()": { - "details": "Name of the governor instance (used in building the ERC712 domain separator).", - "notice": "module:core" - }, - "proposalDeadline(uint256)": { - "details": "Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote during this block.", - "notice": "module:core" - }, - "proposalSnapshot(uint256)": { - "details": "Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the following block.", - "notice": "module:core" - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends {IGovernor-votingPeriod} blocks after the voting starts. Emits a {ProposalCreated} event." - }, - "quorum(uint256)": { - "details": "Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).", - "notice": "module:user-config" - }, - "state(uint256)": { - "details": "Current state of a proposal, following Compound's convention", - "notice": "module:core" - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." - }, - "version()": { - "details": "Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"", - "notice": "module:core" - }, - "votingDelay()": { - "details": "Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.", - "notice": "module:user-config" - }, - "votingPeriod()": { - "details": "Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.", - "notice": "module:user-config" - } - }, - "version": 1 - }, - "offset": [ - 258, - 9588 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "0306c6f2db361d5f2f25ee56a8346c72a66b4e54", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/IGovernor.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Interface of the {Governor} core.\n *\n * _Available since v4.3._\n */\nabstract contract IGovernor is IERC165 {\n enum ProposalState {\n Pending,\n Active,\n Canceled,\n Defeated,\n Succeeded,\n Queued,\n Expired,\n Executed\n }\n\n /**\n * @dev Emitted when a proposal is created.\n */\n event ProposalCreated(\n uint256 proposalId,\n address proposer,\n address[] targets,\n uint256[] values,\n string[] signatures,\n bytes[] calldatas,\n uint256 startBlock,\n uint256 endBlock,\n string description\n );\n\n /**\n * @dev Emitted when a proposal is canceled.\n */\n event ProposalCanceled(uint256 proposalId);\n\n /**\n * @dev Emitted when a proposal is executed.\n */\n event ProposalExecuted(uint256 proposalId);\n\n /**\n * @dev Emitted when a vote is cast without params.\n *\n * Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n */\n event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason);\n\n /**\n * @dev Emitted when a vote is cast with params.\n *\n * Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\n * `params` are additional encoded parameters. Their intepepretation also depends on the voting module used.\n */\n event VoteCastWithParams(\n address indexed voter,\n uint256 proposalId,\n uint8 support,\n uint256 weight,\n string reason,\n bytes params\n );\n\n /**\n * @notice module:core\n * @dev Name of the governor instance (used in building the ERC712 domain separator).\n */\n function name() public view virtual returns (string memory);\n\n /**\n * @notice module:core\n * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"\n */\n function version() public view virtual returns (string memory);\n\n /**\n * @notice module:voting\n * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to\n * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of\n * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`.\n *\n * There are 2 standard keys: `support` and `quorum`.\n *\n * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`.\n * - `quorum=bravo` means that only For votes are counted towards quorum.\n * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum.\n *\n * If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique\n * name that describes the behavior. For example:\n *\n * - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain.\n * - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote.\n *\n * NOTE: The string can be decoded by the standard\n * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`]\n * JavaScript class.\n */\n // solhint-disable-next-line func-name-mixedcase\n function COUNTING_MODE() public pure virtual returns (string memory);\n\n /**\n * @notice module:core\n * @dev Hashing function used to (re)build the proposal id from the proposal details..\n */\n function hashProposal(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public pure virtual returns (uint256);\n\n /**\n * @notice module:core\n * @dev Current state of a proposal, following Compound's convention\n */\n function state(uint256 proposalId) public view virtual returns (ProposalState);\n\n /**\n * @notice module:core\n * @dev Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's\n * ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the\n * beginning of the following block.\n */\n function proposalSnapshot(uint256 proposalId) public view virtual returns (uint256);\n\n /**\n * @notice module:core\n * @dev Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote\n * during this block.\n */\n function proposalDeadline(uint256 proposalId) public view virtual returns (uint256);\n\n /**\n * @notice module:user-config\n * @dev Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to\n * leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\n */\n function votingDelay() public view virtual returns (uint256);\n\n /**\n * @notice module:user-config\n * @dev Delay, in number of blocks, between the vote start and vote ends.\n *\n * NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting\n * duration compared to the voting delay.\n */\n function votingPeriod() public view virtual returns (uint256);\n\n /**\n * @notice module:user-config\n * @dev Minimum number of cast voted required for a proposal to be successful.\n *\n * Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the\n * quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).\n */\n function quorum(uint256 blockNumber) public view virtual returns (uint256);\n\n /**\n * @notice module:reputation\n * @dev Voting power of an `account` at a specific `blockNumber`.\n *\n * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or\n * multiple), {ERC20Votes} tokens.\n */\n function getVotes(address account, uint256 blockNumber) public view virtual returns (uint256);\n\n /**\n * @notice module:reputation\n * @dev Voting power of an `account` at a specific `blockNumber` given additional encoded parameters.\n */\n function getVotesWithParams(\n address account,\n uint256 blockNumber,\n bytes memory params\n ) public view virtual returns (uint256);\n\n /**\n * @notice module:voting\n * @dev Returns whether `account` has cast a vote on `proposalId`.\n */\n function hasVoted(uint256 proposalId, address account) public view virtual returns (bool);\n\n /**\n * @dev Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends\n * {IGovernor-votingPeriod} blocks after the voting starts.\n *\n * Emits a {ProposalCreated} event.\n */\n function propose(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n string memory description\n ) public virtual returns (uint256 proposalId);\n\n /**\n * @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the\n * deadline to be reached.\n *\n * Emits a {ProposalExecuted} event.\n *\n * Note: some module can modify the requirements for execution, for example by adding an additional timelock.\n */\n function execute(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public payable virtual returns (uint256 proposalId);\n\n /**\n * @dev Cast a vote\n *\n * Emits a {VoteCast} event.\n */\n function castVote(uint256 proposalId, uint8 support) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote with a reason\n *\n * Emits a {VoteCast} event.\n */\n function castVoteWithReason(\n uint256 proposalId,\n uint8 support,\n string calldata reason\n ) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote with a reason and additional encoded parameters\n *\n * Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\n */\n function castVoteWithReasonAndParams(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params\n ) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote using the user's cryptographic signature.\n *\n * Emits a {VoteCast} event.\n */\n function castVoteBySig(\n uint256 proposalId,\n uint8 support,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual returns (uint256 balance);\n\n /**\n * @dev Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature.\n *\n * Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params.\n */\n function castVoteWithReasonAndParamsBySig(\n uint256 proposalId,\n uint8 support,\n string calldata reason,\n bytes memory params,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual returns (uint256 balance);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernorTimelock.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernorTimelock.json deleted file mode 100644 index 48fa9101..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernorTimelock.json +++ /dev/null @@ -1,1384 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "eta", - "type": "uint256" - } - ], - "name": "ProposalQueued", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalEta", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "queue", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timelock", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "allSourcePaths": { - "10": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/IGovernorTimelock.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "3": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/IGovernorTimelock.sol", - "exportedSymbols": { - "ERC165": [ - 4960 - ], - "IERC165": [ - 10295 - ], - "IGovernor": [ - 3796 - ], - "IGovernorTimelock": [ - 7797 - ] - }, - "id": 7798, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7758, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "112:23:10" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/IGovernor.sol", - "file": "../IGovernor.sol", - "id": 7759, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 7798, - "sourceUnit": 3797, - "src": "137:26:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 7761, - "name": "IGovernor", - "nameLocations": [ - "312:9:10" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3796, - "src": "312:9:10" - }, - "id": 7762, - "nodeType": "InheritanceSpecifier", - "src": "312:9:10" - } - ], - "canonicalName": "IGovernorTimelock", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 7760, - "nodeType": "StructuredDocumentation", - "src": "165:107:10", - "text": " @dev Extension of the {IGovernor} for timelock supporting modules.\n _Available since v4.3._" - }, - "fullyImplemented": false, - "id": 7797, - "linearizedBaseContracts": [ - 7797, - 3796, - 10295 - ], - "name": "IGovernorTimelock", - "nameLocation": "291:17:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "eventSelector": "9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892", - "id": 7768, - "name": "ProposalQueued", - "nameLocation": "334:14:10", - "nodeType": "EventDefinition", - "parameters": { - "id": 7767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7764, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "357:10:10", - "nodeType": "VariableDeclaration", - "scope": 7768, - "src": "349:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "349:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7766, - "indexed": false, - "mutability": "mutable", - "name": "eta", - "nameLocation": "377:3:10", - "nodeType": "VariableDeclaration", - "scope": 7768, - "src": "369:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "369:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "348:33:10" - }, - "src": "328:54:10" - }, - { - "functionSelector": "d33219b4", - "id": 7773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "timelock", - "nameLocation": "397:8:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7769, - "nodeType": "ParameterList", - "parameters": [], - "src": "405:2:10" - }, - "returnParameters": { - "id": 7772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7771, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7773, - "src": "437:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "437:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "436:9:10" - }, - "scope": 7797, - "src": "388:58:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "functionSelector": "ab58fb8e", - "id": 7780, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "proposalEta", - "nameLocation": "461:11:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7775, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "481:10:10", - "nodeType": "VariableDeclaration", - "scope": 7780, - "src": "473:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "473:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "472:20:10" - }, - "returnParameters": { - "id": 7779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7778, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7780, - "src": "522:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "522:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "521:9:10" - }, - "scope": 7797, - "src": "452:79:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "functionSelector": "160cbed7", - "id": 7796, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "queue", - "nameLocation": "546:5:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7783, - "mutability": "mutable", - "name": "targets", - "nameLocation": "578:7:10", - "nodeType": "VariableDeclaration", - "scope": 7796, - "src": "561:24:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7781, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "561:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7782, - "nodeType": "ArrayTypeName", - "src": "561:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7786, - "mutability": "mutable", - "name": "values", - "nameLocation": "612:6:10", - "nodeType": "VariableDeclaration", - "scope": 7796, - "src": "595:23:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "595:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7785, - "nodeType": "ArrayTypeName", - "src": "595:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7789, - "mutability": "mutable", - "name": "calldatas", - "nameLocation": "643:9:10", - "nodeType": "VariableDeclaration", - "scope": 7796, - "src": "628:24:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 7787, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "628:5:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 7788, - "nodeType": "ArrayTypeName", - "src": "628:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7791, - "mutability": "mutable", - "name": "descriptionHash", - "nameLocation": "670:15:10", - "nodeType": "VariableDeclaration", - "scope": 7796, - "src": "662:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7790, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "662:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "551:140:10" - }, - "returnParameters": { - "id": 7795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7794, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "724:10:10", - "nodeType": "VariableDeclaration", - "scope": 7796, - "src": "716:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "716:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "715:20:10" - }, - "scope": 7797, - "src": "537:199:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 7798, - "src": "273:465:10", - "usedErrors": [] - } - ], - "src": "112:627:10" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IGovernorTimelock", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IGovernor" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Extension of the {IGovernor} for timelock supporting modules. _Available since v4.3._", - "kind": "dev", - "methods": { - "COUNTING_MODE()": { - "details": "A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.", - "notice": "module:voting" - }, - "castVote(uint256,uint8)": { - "details": "Cast a vote Emits a {VoteCast} event." - }, - "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": { - "details": "Cast a vote using the user's cryptographic signature. Emits a {VoteCast} event." - }, - "castVoteWithReason(uint256,uint8,string)": { - "details": "Cast a vote with a reason Emits a {VoteCast} event." - }, - "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": { - "details": "Cast a vote with a reason and additional encoded parameters Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params." - }, - "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": { - "details": "Cast a vote with a reason and additional encoded parameters using the user's cryptographic signature. Emits a {VoteCast} or {VoteCastWithParams} event depending on the length of params." - }, - "execute(address[],uint256[],bytes[],bytes32)": { - "details": "Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the deadline to be reached. Emits a {ProposalExecuted} event. Note: some module can modify the requirements for execution, for example by adding an additional timelock." - }, - "getVotes(address,uint256)": { - "details": "Voting power of an `account` at a specific `blockNumber`. Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or multiple), {ERC20Votes} tokens.", - "notice": "module:reputation" - }, - "getVotesWithParams(address,uint256,bytes)": { - "details": "Voting power of an `account` at a specific `blockNumber` given additional encoded parameters.", - "notice": "module:reputation" - }, - "hasVoted(uint256,address)": { - "details": "Returns whether `account` has cast a vote on `proposalId`.", - "notice": "module:voting" - }, - "hashProposal(address[],uint256[],bytes[],bytes32)": { - "details": "Hashing function used to (re)build the proposal id from the proposal details..", - "notice": "module:core" - }, - "name()": { - "details": "Name of the governor instance (used in building the ERC712 domain separator).", - "notice": "module:core" - }, - "proposalDeadline(uint256)": { - "details": "Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote during this block.", - "notice": "module:core" - }, - "proposalSnapshot(uint256)": { - "details": "Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the beginning of the following block.", - "notice": "module:core" - }, - "propose(address[],uint256[],bytes[],string)": { - "details": "Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends {IGovernor-votingPeriod} blocks after the voting starts. Emits a {ProposalCreated} event." - }, - "quorum(uint256)": { - "details": "Minimum number of cast voted required for a proposal to be successful. Note: The `blockNumber` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}).", - "notice": "module:user-config" - }, - "state(uint256)": { - "details": "Current state of a proposal, following Compound's convention", - "notice": "module:core" - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." - }, - "version()": { - "details": "Version of the governor instance (used in building the ERC712 domain separator). Default: \"1\"", - "notice": "module:core" - }, - "votingDelay()": { - "details": "Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.", - "notice": "module:user-config" - }, - "votingPeriod()": { - "details": "Delay, in number of blocks, between the vote start and vote ends. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.", - "notice": "module:user-config" - } - }, - "version": 1 - }, - "offset": [ - 273, - 738 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "70a0f132eccd856e6ded4f881ed2848fba05b63e", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (governance/extensions/IGovernorTimelock.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IGovernor.sol\";\n\n/**\n * @dev Extension of the {IGovernor} for timelock supporting modules.\n *\n * _Available since v4.3._\n */\nabstract contract IGovernorTimelock is IGovernor {\n event ProposalQueued(uint256 proposalId, uint256 eta);\n\n function timelock() public view virtual returns (address);\n\n function proposalEta(uint256 proposalId) public view virtual returns (uint256);\n\n function queue(\n address[] memory targets,\n uint256[] memory values,\n bytes[] memory calldatas,\n bytes32 descriptionHash\n ) public virtual returns (uint256 proposalId);\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/extensions/IGovernorTimelock.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IVotes.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IVotes.json deleted file mode 100644 index 92eeb63b..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/IVotes.json +++ /dev/null @@ -1,1165 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fromDelegate", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "toDelegate", - "type": "address" - } - ], - "name": "DelegateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousBalance", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newBalance", - "type": "uint256" - } - ], - "name": "DelegateVotesChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "name": "delegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "delegateBySig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "delegates", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastTotalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "allSourcePaths": { - "11": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/utils/IVotes.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/utils/IVotes.sol", - "exportedSymbols": { - "IVotes": [ - 7875 - ] - }, - "id": 7876, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7799, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "110:23:11" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IVotes", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 7800, - "nodeType": "StructuredDocumentation", - "src": "135:132:11", - "text": " @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.\n _Available since v4.5._" - }, - "fullyImplemented": false, - "id": 7875, - "linearizedBaseContracts": [ - 7875 - ], - "name": "IVotes", - "nameLocation": "278:6:11", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 7801, - "nodeType": "StructuredDocumentation", - "src": "291:71:11", - "text": " @dev Emitted when an account changes their delegate." - }, - "eventSelector": "3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f", - "id": 7809, - "name": "DelegateChanged", - "nameLocation": "373:15:11", - "nodeType": "EventDefinition", - "parameters": { - "id": 7808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7803, - "indexed": true, - "mutability": "mutable", - "name": "delegator", - "nameLocation": "405:9:11", - "nodeType": "VariableDeclaration", - "scope": 7809, - "src": "389:25:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "389:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7805, - "indexed": true, - "mutability": "mutable", - "name": "fromDelegate", - "nameLocation": "432:12:11", - "nodeType": "VariableDeclaration", - "scope": 7809, - "src": "416:28:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "416:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7807, - "indexed": true, - "mutability": "mutable", - "name": "toDelegate", - "nameLocation": "462:10:11", - "nodeType": "VariableDeclaration", - "scope": 7809, - "src": "446:26:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "446:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "388:85:11" - }, - "src": "367:107:11" - }, - { - "anonymous": false, - "documentation": { - "id": 7810, - "nodeType": "StructuredDocumentation", - "src": "480:124:11", - "text": " @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of votes." - }, - "eventSelector": "dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724", - "id": 7818, - "name": "DelegateVotesChanged", - "nameLocation": "615:20:11", - "nodeType": "EventDefinition", - "parameters": { - "id": 7817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7812, - "indexed": true, - "mutability": "mutable", - "name": "delegate", - "nameLocation": "652:8:11", - "nodeType": "VariableDeclaration", - "scope": 7818, - "src": "636:24:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7811, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "636:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7814, - "indexed": false, - "mutability": "mutable", - "name": "previousBalance", - "nameLocation": "670:15:11", - "nodeType": "VariableDeclaration", - "scope": 7818, - "src": "662:23:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "662:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7816, - "indexed": false, - "mutability": "mutable", - "name": "newBalance", - "nameLocation": "695:10:11", - "nodeType": "VariableDeclaration", - "scope": 7818, - "src": "687:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "687:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "635:71:11" - }, - "src": "609:98:11" - }, - { - "documentation": { - "id": 7819, - "nodeType": "StructuredDocumentation", - "src": "713:79:11", - "text": " @dev Returns the current amount of votes that `account` has." - }, - "functionSelector": "9ab24eb0", - "id": 7826, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getVotes", - "nameLocation": "806:8:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7821, - "mutability": "mutable", - "name": "account", - "nameLocation": "823:7:11", - "nodeType": "VariableDeclaration", - "scope": 7826, - "src": "815:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "815:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "814:17:11" - }, - "returnParameters": { - "id": 7825, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7824, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7826, - "src": "855:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "855:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "854:9:11" - }, - "scope": 7875, - "src": "797:67:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 7827, - "nodeType": "StructuredDocumentation", - "src": "870:114:11", - "text": " @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`)." - }, - "functionSelector": "3a46b1a8", - "id": 7836, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPastVotes", - "nameLocation": "998:12:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7829, - "mutability": "mutable", - "name": "account", - "nameLocation": "1019:7:11", - "nodeType": "VariableDeclaration", - "scope": 7836, - "src": "1011:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1011:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7831, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "1036:11:11", - "nodeType": "VariableDeclaration", - "scope": 7836, - "src": "1028:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1028:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1010:38:11" - }, - "returnParameters": { - "id": 7835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7834, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7836, - "src": "1072:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1072:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1071:9:11" - }, - "scope": 7875, - "src": "989:92:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 7837, - "nodeType": "StructuredDocumentation", - "src": "1087:365:11", - "text": " @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).\n NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n Votes that have not been delegated are still part of total supply, even though they would not participate in a\n vote." - }, - "functionSelector": "8e539e8c", - "id": 7844, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPastTotalSupply", - "nameLocation": "1466:18:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7839, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "1493:11:11", - "nodeType": "VariableDeclaration", - "scope": 7844, - "src": "1485:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1485:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1484:21:11" - }, - "returnParameters": { - "id": 7843, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7842, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7844, - "src": "1529:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1529:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1528:9:11" - }, - "scope": 7875, - "src": "1457:81:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 7845, - "nodeType": "StructuredDocumentation", - "src": "1544:71:11", - "text": " @dev Returns the delegate that `account` has chosen." - }, - "functionSelector": "587cde1e", - "id": 7852, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "delegates", - "nameLocation": "1629:9:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7847, - "mutability": "mutable", - "name": "account", - "nameLocation": "1647:7:11", - "nodeType": "VariableDeclaration", - "scope": 7852, - "src": "1639:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7846, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1639:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1638:17:11" - }, - "returnParameters": { - "id": 7851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7850, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7852, - "src": "1679:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1679:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1678:9:11" - }, - "scope": 7875, - "src": "1620:68:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 7853, - "nodeType": "StructuredDocumentation", - "src": "1694:71:11", - "text": " @dev Delegates votes from the sender to `delegatee`." - }, - "functionSelector": "5c19a95c", - "id": 7858, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "delegate", - "nameLocation": "1779:8:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7855, - "mutability": "mutable", - "name": "delegatee", - "nameLocation": "1796:9:11", - "nodeType": "VariableDeclaration", - "scope": 7858, - "src": "1788:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7854, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1788:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1787:19:11" - }, - "returnParameters": { - "id": 7857, - "nodeType": "ParameterList", - "parameters": [], - "src": "1815:0:11" - }, - "scope": 7875, - "src": "1770:46:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 7859, - "nodeType": "StructuredDocumentation", - "src": "1822:67:11", - "text": " @dev Delegates votes from signer to `delegatee`." - }, - "functionSelector": "c3cda520", - "id": 7874, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "delegateBySig", - "nameLocation": "1903:13:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7861, - "mutability": "mutable", - "name": "delegatee", - "nameLocation": "1934:9:11", - "nodeType": "VariableDeclaration", - "scope": 7874, - "src": "1926:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1926:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7863, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "1961:5:11", - "nodeType": "VariableDeclaration", - "scope": 7874, - "src": "1953:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1953:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7865, - "mutability": "mutable", - "name": "expiry", - "nameLocation": "1984:6:11", - "nodeType": "VariableDeclaration", - "scope": 7874, - "src": "1976:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1976:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7867, - "mutability": "mutable", - "name": "v", - "nameLocation": "2006:1:11", - "nodeType": "VariableDeclaration", - "scope": 7874, - "src": "2000:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7866, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2000:5:11", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7869, - "mutability": "mutable", - "name": "r", - "nameLocation": "2025:1:11", - "nodeType": "VariableDeclaration", - "scope": 7874, - "src": "2017:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7868, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2017:7:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7871, - "mutability": "mutable", - "name": "s", - "nameLocation": "2044:1:11", - "nodeType": "VariableDeclaration", - "scope": 7874, - "src": "2036:9:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7870, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2036:7:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1916:135:11" - }, - "returnParameters": { - "id": 7873, - "nodeType": "ParameterList", - "parameters": [], - "src": "2060:0:11" - }, - "scope": 7875, - "src": "1894:167:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7876, - "src": "268:1795:11", - "usedErrors": [] - } - ], - "src": "110:1954:11" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "IVotes", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts. _Available since v4.5._", - "events": { - "DelegateChanged(address,address,address)": { - "details": "Emitted when an account changes their delegate." - }, - "DelegateVotesChanged(address,uint256,uint256)": { - "details": "Emitted when a token transfer or delegate change results in changes to a delegate's number of votes." - } - }, - "kind": "dev", - "methods": { - "delegate(address)": { - "details": "Delegates votes from the sender to `delegatee`." - }, - "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": { - "details": "Delegates votes from signer to `delegatee`." - }, - "delegates(address)": { - "details": "Returns the delegate that `account` has chosen." - }, - "getPastTotalSupply(uint256)": { - "details": "Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote." - }, - "getPastVotes(address,uint256)": { - "details": "Returns the amount of votes that `account` had at the end of a past block (`blockNumber`)." - }, - "getVotes(address)": { - "details": "Returns the current amount of votes that `account` has." - } - }, - "version": 1 - }, - "offset": [ - 268, - 2063 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "b10c6d4cb9c33ee180d126d79b30c1608d706702", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (governance/utils/IVotes.sol)\npragma solidity ^0.8.0;\n\n/**\n * @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.\n *\n * _Available since v4.5._\n */\ninterface IVotes {\n /**\n * @dev Emitted when an account changes their delegate.\n */\n event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);\n\n /**\n * @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\n */\n event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance);\n\n /**\n * @dev Returns the current amount of votes that `account` has.\n */\n function getVotes(address account) external view returns (uint256);\n\n /**\n * @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`).\n */\n function getPastVotes(address account, uint256 blockNumber) external view returns (uint256);\n\n /**\n * @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).\n *\n * NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n * Votes that have not been delegated are still part of total supply, even though they would not participate in a\n * vote.\n */\n function getPastTotalSupply(uint256 blockNumber) external view returns (uint256);\n\n /**\n * @dev Returns the delegate that `account` has chosen.\n */\n function delegates(address account) external view returns (address);\n\n /**\n * @dev Delegates votes from the sender to `delegatee`.\n */\n function delegate(address delegatee) external;\n\n /**\n * @dev Delegates votes from signer to `delegatee`.\n */\n function delegateBySig(\n address delegatee,\n uint256 nonce,\n uint256 expiry,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/utils/IVotes.sol", - "type": "interface" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Math.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Math.json deleted file mode 100644 index 67c481d4..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Math.json +++ /dev/null @@ -1,11787 +0,0 @@ -{ - "abi": [], - "allSourcePaths": { - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "exportedSymbols": { - "Math": [ - 10283 - ] - }, - "id": 10284, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9420, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "103:23:30" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Math", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 9421, - "nodeType": "StructuredDocumentation", - "src": "128:73:30", - "text": " @dev Standard math utilities missing in the Solidity language." - }, - "fullyImplemented": true, - "id": 10283, - "linearizedBaseContracts": [ - 10283 - ], - "name": "Math", - "nameLocation": "210:4:30", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Math.Rounding", - "id": 9425, - "members": [ - { - "id": 9422, - "name": "Down", - "nameLocation": "245:4:30", - "nodeType": "EnumValue", - "src": "245:4:30" - }, - { - "id": 9423, - "name": "Up", - "nameLocation": "287:2:30", - "nodeType": "EnumValue", - "src": "287:2:30" - }, - { - "id": 9424, - "name": "Zero", - "nameLocation": "318:4:30", - "nodeType": "EnumValue", - "src": "318:4:30" - } - ], - "name": "Rounding", - "nameLocation": "226:8:30", - "nodeType": "EnumDefinition", - "src": "221:122:30" - }, - { - "body": { - "id": 9442, - "nodeType": "Block", - "src": "480:37:30", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9435, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9428, - "src": "497:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 9436, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9430, - "src": "501:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "497:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 9439, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9430, - "src": "509:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "497:13:30", - "trueExpression": { - "id": 9438, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9428, - "src": "505:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9434, - "id": 9441, - "nodeType": "Return", - "src": "490:20:30" - } - ] - }, - "documentation": { - "id": 9426, - "nodeType": "StructuredDocumentation", - "src": "349:59:30", - "text": " @dev Returns the largest of two numbers." - }, - "id": 9443, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "max", - "nameLocation": "422:3:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9428, - "mutability": "mutable", - "name": "a", - "nameLocation": "434:1:30", - "nodeType": "VariableDeclaration", - "scope": 9443, - "src": "426:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "426:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9430, - "mutability": "mutable", - "name": "b", - "nameLocation": "445:1:30", - "nodeType": "VariableDeclaration", - "scope": 9443, - "src": "437:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "425:22:30" - }, - "returnParameters": { - "id": 9434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9433, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9443, - "src": "471:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "470:9:30" - }, - "scope": 10283, - "src": "413:104:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9460, - "nodeType": "Block", - "src": "655:37:30", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9453, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "672:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 9454, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9448, - "src": "676:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "672:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 9457, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9448, - "src": "684:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "672:13:30", - "trueExpression": { - "id": 9456, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "680:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9452, - "id": 9459, - "nodeType": "Return", - "src": "665:20:30" - } - ] - }, - "documentation": { - "id": 9444, - "nodeType": "StructuredDocumentation", - "src": "523:60:30", - "text": " @dev Returns the smallest of two numbers." - }, - "id": 9461, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "min", - "nameLocation": "597:3:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9446, - "mutability": "mutable", - "name": "a", - "nameLocation": "609:1:30", - "nodeType": "VariableDeclaration", - "scope": 9461, - "src": "601:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "601:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9448, - "mutability": "mutable", - "name": "b", - "nameLocation": "620:1:30", - "nodeType": "VariableDeclaration", - "scope": 9461, - "src": "612:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "612:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "600:22:30" - }, - "returnParameters": { - "id": 9452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9451, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9461, - "src": "646:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "646:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "645:9:30" - }, - "scope": 10283, - "src": "588:104:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9483, - "nodeType": "Block", - "src": "876:82:30", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9471, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9464, - "src": "931:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "id": 9472, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9466, - "src": "935:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "931:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9474, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "930:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9475, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9464, - "src": "941:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "id": 9476, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9466, - "src": "945:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "941:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9478, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "940:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "32", - "id": 9479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "950:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "940:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "930:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9470, - "id": 9482, - "nodeType": "Return", - "src": "923:28:30" - } - ] - }, - "documentation": { - "id": 9462, - "nodeType": "StructuredDocumentation", - "src": "698:102:30", - "text": " @dev Returns the average of two numbers. The result is rounded towards\n zero." - }, - "id": 9484, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "average", - "nameLocation": "814:7:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9464, - "mutability": "mutable", - "name": "a", - "nameLocation": "830:1:30", - "nodeType": "VariableDeclaration", - "scope": 9484, - "src": "822:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "822:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9466, - "mutability": "mutable", - "name": "b", - "nameLocation": "841:1:30", - "nodeType": "VariableDeclaration", - "scope": 9484, - "src": "833:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "833:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "821:22:30" - }, - "returnParameters": { - "id": 9470, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9469, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9484, - "src": "867:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "867:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "866:9:30" - }, - "scope": 10283, - "src": "805:153:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9508, - "nodeType": "Block", - "src": "1228:123:30", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9494, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9487, - "src": "1316:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 9495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1321:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1316:6:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9498, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9487, - "src": "1330:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 9499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1334:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1330:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9501, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1329:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9502, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9489, - "src": "1339:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1329:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 9504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1343:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1329:15:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "1316:28:30", - "trueExpression": { - "hexValue": "30", - "id": 9497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1325:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9493, - "id": 9507, - "nodeType": "Return", - "src": "1309:35:30" - } - ] - }, - "documentation": { - "id": 9485, - "nodeType": "StructuredDocumentation", - "src": "964:188:30", - "text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down." - }, - "id": 9509, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ceilDiv", - "nameLocation": "1166:7:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9487, - "mutability": "mutable", - "name": "a", - "nameLocation": "1182:1:30", - "nodeType": "VariableDeclaration", - "scope": 9509, - "src": "1174:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1174:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9489, - "mutability": "mutable", - "name": "b", - "nameLocation": "1193:1:30", - "nodeType": "VariableDeclaration", - "scope": 9509, - "src": "1185:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1185:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1173:22:30" - }, - "returnParameters": { - "id": 9493, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9492, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9509, - "src": "1219:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9491, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1219:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1218:9:30" - }, - "scope": 10283, - "src": "1157:194:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9630, - "nodeType": "Block", - "src": "1795:3797:30", - "statements": [ - { - "id": 9629, - "nodeType": "UncheckedBlock", - "src": "1805:3781:30", - "statements": [ - { - "assignments": [ - 9522 - ], - "declarations": [ - { - "constant": false, - "id": 9522, - "mutability": "mutable", - "name": "prod0", - "nameLocation": "2134:5:30", - "nodeType": "VariableDeclaration", - "scope": 9629, - "src": "2126:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2126:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9523, - "nodeType": "VariableDeclarationStatement", - "src": "2126:13:30" - }, - { - "assignments": [ - 9525 - ], - "declarations": [ - { - "constant": false, - "id": 9525, - "mutability": "mutable", - "name": "prod1", - "nameLocation": "2206:5:30", - "nodeType": "VariableDeclaration", - "scope": 9629, - "src": "2198:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2198:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9526, - "nodeType": "VariableDeclarationStatement", - "src": "2198:13:30" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "2278:157:30", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2296:30:30", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2313:1:30" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2316:1:30" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2323:1:30", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2319:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "2319:6:30" - } - ], - "functionName": { - "name": "mulmod", - "nodeType": "YulIdentifier", - "src": "2306:6:30" - }, - "nodeType": "YulFunctionCall", - "src": "2306:20:30" - }, - "variables": [ - { - "name": "mm", - "nodeType": "YulTypedName", - "src": "2300:2:30", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2343:18:30", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2356:1:30" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2359:1:30" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "2352:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "2352:9:30" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2343:5:30" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2378:43:30", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "mm", - "nodeType": "YulIdentifier", - "src": "2395:2:30" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2399:5:30" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2391:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "2391:14:30" - }, - { - "arguments": [ - { - "name": "mm", - "nodeType": "YulIdentifier", - "src": "2410:2:30" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "2414:5:30" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2407:2:30" - }, - "nodeType": "YulFunctionCall", - "src": "2407:13:30" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2387:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "2387:34:30" - }, - "variableNames": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "2378:5:30" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "2343:5:30", - "valueSize": 1 - }, - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "2399:5:30", - "valueSize": 1 - }, - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "2414:5:30", - "valueSize": 1 - }, - { - "declaration": 9525, - "isOffset": false, - "isSlot": false, - "src": "2378:5:30", - "valueSize": 1 - }, - { - "declaration": 9512, - "isOffset": false, - "isSlot": false, - "src": "2313:1:30", - "valueSize": 1 - }, - { - "declaration": 9512, - "isOffset": false, - "isSlot": false, - "src": "2356:1:30", - "valueSize": 1 - }, - { - "declaration": 9514, - "isOffset": false, - "isSlot": false, - "src": "2316:1:30", - "valueSize": 1 - }, - { - "declaration": 9514, - "isOffset": false, - "isSlot": false, - "src": "2359:1:30", - "valueSize": 1 - } - ], - "id": 9527, - "nodeType": "InlineAssembly", - "src": "2269:166:30" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9528, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9525, - "src": "2516:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 9529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2516:10:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9536, - "nodeType": "IfStatement", - "src": "2512:75:30", - "trueBody": { - "id": 9535, - "nodeType": "Block", - "src": "2528:59:30", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9531, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9522, - "src": "2553:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9532, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "2561:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2553:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9520, - "id": 9534, - "nodeType": "Return", - "src": "2546:26:30" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9538, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "2697:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 9539, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9525, - "src": "2711:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2697:19:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 9537, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2689:7:30", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 9541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2689:28:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9542, - "nodeType": "ExpressionStatement", - "src": "2689:28:30" - }, - { - "assignments": [ - 9544 - ], - "declarations": [ - { - "constant": false, - "id": 9544, - "mutability": "mutable", - "name": "remainder", - "nameLocation": "2981:9:30", - "nodeType": "VariableDeclaration", - "scope": 9629, - "src": "2973:17:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2973:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9545, - "nodeType": "VariableDeclarationStatement", - "src": "2973:17:30" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "3013:291:30", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3082:38:30", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3102:1:30" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3105:1:30" - }, - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "3108:11:30" - } - ], - "functionName": { - "name": "mulmod", - "nodeType": "YulIdentifier", - "src": "3095:6:30" - }, - "nodeType": "YulFunctionCall", - "src": "3095:25:30" - }, - "variableNames": [ - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3082:9:30" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3202:41:30", - "value": { - "arguments": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "3215:5:30" - }, - { - "arguments": [ - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3225:9:30" - }, - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3236:5:30" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3222:2:30" - }, - "nodeType": "YulFunctionCall", - "src": "3222:20:30" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3211:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "3211:32:30" - }, - "variableNames": [ - { - "name": "prod1", - "nodeType": "YulIdentifier", - "src": "3202:5:30" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3260:30:30", - "value": { - "arguments": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3273:5:30" - }, - { - "name": "remainder", - "nodeType": "YulIdentifier", - "src": "3280:9:30" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3269:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "3269:21:30" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3260:5:30" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9516, - "isOffset": false, - "isSlot": false, - "src": "3108:11:30", - "valueSize": 1 - }, - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "3236:5:30", - "valueSize": 1 - }, - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "3260:5:30", - "valueSize": 1 - }, - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "3273:5:30", - "valueSize": 1 - }, - { - "declaration": 9525, - "isOffset": false, - "isSlot": false, - "src": "3202:5:30", - "valueSize": 1 - }, - { - "declaration": 9525, - "isOffset": false, - "isSlot": false, - "src": "3215:5:30", - "valueSize": 1 - }, - { - "declaration": 9544, - "isOffset": false, - "isSlot": false, - "src": "3082:9:30", - "valueSize": 1 - }, - { - "declaration": 9544, - "isOffset": false, - "isSlot": false, - "src": "3225:9:30", - "valueSize": 1 - }, - { - "declaration": 9544, - "isOffset": false, - "isSlot": false, - "src": "3280:9:30", - "valueSize": 1 - }, - { - "declaration": 9512, - "isOffset": false, - "isSlot": false, - "src": "3102:1:30", - "valueSize": 1 - }, - { - "declaration": 9514, - "isOffset": false, - "isSlot": false, - "src": "3105:1:30", - "valueSize": 1 - } - ], - "id": 9546, - "nodeType": "InlineAssembly", - "src": "3004:300:30" - }, - { - "assignments": [ - 9548 - ], - "declarations": [ - { - "constant": false, - "id": 9548, - "mutability": "mutable", - "name": "twos", - "nameLocation": "3619:4:30", - "nodeType": "VariableDeclaration", - "scope": 9629, - "src": "3611:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3611:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9556, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9549, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "3626:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "~", - "prefix": true, - "src": "3641:12:30", - "subExpression": { - "id": 9550, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "3642:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 9552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3656:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3641:16:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9554, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3640:18:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3626:32:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3611:47:30" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "3681:362:30", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3746:37:30", - "value": { - "arguments": [ - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "3765:11:30" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "3778:4:30" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3761:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "3761:22:30" - }, - "variableNames": [ - { - "name": "denominator", - "nodeType": "YulIdentifier", - "src": "3746:11:30" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3850:25:30", - "value": { - "arguments": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3863:5:30" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "3870:4:30" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3859:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "3859:16:30" - }, - "variableNames": [ - { - "name": "prod0", - "nodeType": "YulIdentifier", - "src": "3850:5:30" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3990:39:30", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4010:1:30", - "type": "", - "value": "0" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4013:4:30" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4006:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "4006:12:30" - }, - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "4020:4:30" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4002:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "4002:23:30" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4027:1:30", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3998:3:30" - }, - "nodeType": "YulFunctionCall", - "src": "3998:31:30" - }, - "variableNames": [ - { - "name": "twos", - "nodeType": "YulIdentifier", - "src": "3990:4:30" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9516, - "isOffset": false, - "isSlot": false, - "src": "3746:11:30", - "valueSize": 1 - }, - { - "declaration": 9516, - "isOffset": false, - "isSlot": false, - "src": "3765:11:30", - "valueSize": 1 - }, - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "3850:5:30", - "valueSize": 1 - }, - { - "declaration": 9522, - "isOffset": false, - "isSlot": false, - "src": "3863:5:30", - "valueSize": 1 - }, - { - "declaration": 9548, - "isOffset": false, - "isSlot": false, - "src": "3778:4:30", - "valueSize": 1 - }, - { - "declaration": 9548, - "isOffset": false, - "isSlot": false, - "src": "3870:4:30", - "valueSize": 1 - }, - { - "declaration": 9548, - "isOffset": false, - "isSlot": false, - "src": "3990:4:30", - "valueSize": 1 - }, - { - "declaration": 9548, - "isOffset": false, - "isSlot": false, - "src": "4013:4:30", - "valueSize": 1 - }, - { - "declaration": 9548, - "isOffset": false, - "isSlot": false, - "src": "4020:4:30", - "valueSize": 1 - } - ], - "id": 9557, - "nodeType": "InlineAssembly", - "src": "3672:371:30" - }, - { - "expression": { - "id": 9562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9558, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9522, - "src": "4109:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "|=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9559, - "name": "prod1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9525, - "src": "4118:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9560, - "name": "twos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9548, - "src": "4126:4:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4118:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4109:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9563, - "nodeType": "ExpressionStatement", - "src": "4109:21:30" - }, - { - "assignments": [ - 9565 - ], - "declarations": [ - { - "constant": false, - "id": 9565, - "mutability": "mutable", - "name": "inverse", - "nameLocation": "4456:7:30", - "nodeType": "VariableDeclaration", - "scope": 9629, - "src": "4448:15:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4448:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9572, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "33", - "id": 9566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4467:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9567, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4471:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4467:15:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9569, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4466:17:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "^", - "rightExpression": { - "hexValue": "32", - "id": 9570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4486:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "4466:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4448:39:30" - }, - { - "expression": { - "id": 9579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9573, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4704:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 9574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4715:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9575, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4719:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9576, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4733:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4719:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4715:25:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4704:36:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9580, - "nodeType": "ExpressionStatement", - "src": "4704:36:30" - }, - { - "expression": { - "id": 9587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9581, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4773:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 9582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4784:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9583, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4788:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9584, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4802:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4788:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4784:25:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4773:36:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9588, - "nodeType": "ExpressionStatement", - "src": "4773:36:30" - }, - { - "expression": { - "id": 9595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9589, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4843:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 9590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4854:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9591, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4858:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9592, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4872:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4858:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4854:25:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4843:36:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9596, - "nodeType": "ExpressionStatement", - "src": "4843:36:30" - }, - { - "expression": { - "id": 9603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9597, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4913:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 9598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4924:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9599, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4928:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9600, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4942:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4928:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4924:25:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4913:36:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9604, - "nodeType": "ExpressionStatement", - "src": "4913:36:30" - }, - { - "expression": { - "id": 9611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9605, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "4983:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 9606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4994:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9607, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4998:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9608, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "5012:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4998:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4994:25:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4983:36:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9612, - "nodeType": "ExpressionStatement", - "src": "4983:36:30" - }, - { - "expression": { - "id": 9619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9613, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "5054:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "*=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 9614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5065:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9615, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5069:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9616, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "5083:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5069:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5065:25:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5054:36:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9620, - "nodeType": "ExpressionStatement", - "src": "5054:36:30" - }, - { - "expression": { - "id": 9625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9621, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9519, - "src": "5524:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9622, - "name": "prod0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9522, - "src": "5533:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9623, - "name": "inverse", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9565, - "src": "5541:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5533:15:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5524:24:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9626, - "nodeType": "ExpressionStatement", - "src": "5524:24:30" - }, - { - "expression": { - "id": 9627, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9519, - "src": "5569:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9520, - "id": 9628, - "nodeType": "Return", - "src": "5562:13:30" - } - ] - } - ] - }, - "documentation": { - "id": 9510, - "nodeType": "StructuredDocumentation", - "src": "1357:305:30", - "text": " @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license." - }, - "id": 9631, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "1676:6:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9512, - "mutability": "mutable", - "name": "x", - "nameLocation": "1700:1:30", - "nodeType": "VariableDeclaration", - "scope": 9631, - "src": "1692:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1692:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9514, - "mutability": "mutable", - "name": "y", - "nameLocation": "1719:1:30", - "nodeType": "VariableDeclaration", - "scope": 9631, - "src": "1711:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1711:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9516, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "1738:11:30", - "nodeType": "VariableDeclaration", - "scope": 9631, - "src": "1730:19:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1730:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1682:73:30" - }, - "returnParameters": { - "id": 9520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9519, - "mutability": "mutable", - "name": "result", - "nameLocation": "1787:6:30", - "nodeType": "VariableDeclaration", - "scope": 9631, - "src": "1779:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1778:16:30" - }, - "scope": 10283, - "src": "1667:3925:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9674, - "nodeType": "Block", - "src": "5872:189:30", - "statements": [ - { - "assignments": [ - 9647 - ], - "declarations": [ - { - "constant": false, - "id": 9647, - "mutability": "mutable", - "name": "result", - "nameLocation": "5890:6:30", - "nodeType": "VariableDeclaration", - "scope": 9674, - "src": "5882:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5882:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9653, - "initialValue": { - "arguments": [ - { - "id": 9649, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9634, - "src": "5906:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 9650, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9636, - "src": "5909:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 9651, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9638, - "src": "5912:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9648, - "name": "mulDiv", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9631, - 9675 - ], - "referencedDeclaration": 9631, - "src": "5899:6:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 9652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5899:25:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5882:42:30" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "id": 9657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9654, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9641, - "src": "5938:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 9655, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "5950:8:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$9425_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 9656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "5959:2:30", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 9423, - "src": "5950:11:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "src": "5938:23:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 9659, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9634, - "src": "5972:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 9660, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9636, - "src": "5975:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 9661, - "name": "denominator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9638, - "src": "5978:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9658, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5965:6:30", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 9662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5965:25:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5993:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5965:29:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5938:56:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9671, - "nodeType": "IfStatement", - "src": "5934:98:30", - "trueBody": { - "id": 9670, - "nodeType": "Block", - "src": "5996:36:30", - "statements": [ - { - "expression": { - "id": 9668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9666, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9647, - "src": "6010:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6020:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6010:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9669, - "nodeType": "ExpressionStatement", - "src": "6010:11:30" - } - ] - } - }, - { - "expression": { - "id": 9672, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9647, - "src": "6048:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9645, - "id": 9673, - "nodeType": "Return", - "src": "6041:13:30" - } - ] - }, - "documentation": { - "id": 9632, - "nodeType": "StructuredDocumentation", - "src": "5598:121:30", - "text": " @notice Calculates x * y / denominator with full precision, following the selected rounding direction." - }, - "id": 9675, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mulDiv", - "nameLocation": "5733:6:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9634, - "mutability": "mutable", - "name": "x", - "nameLocation": "5757:1:30", - "nodeType": "VariableDeclaration", - "scope": 9675, - "src": "5749:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9633, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5749:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9636, - "mutability": "mutable", - "name": "y", - "nameLocation": "5776:1:30", - "nodeType": "VariableDeclaration", - "scope": 9675, - "src": "5768:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5768:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9638, - "mutability": "mutable", - "name": "denominator", - "nameLocation": "5795:11:30", - "nodeType": "VariableDeclaration", - "scope": 9675, - "src": "5787:19:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5787:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9641, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "5825:8:30", - "nodeType": "VariableDeclaration", - "scope": 9675, - "src": "5816:17:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 9640, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 9639, - "name": "Rounding", - "nameLocations": [ - "5816:8:30" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 9425, - "src": "5816:8:30" - }, - "referencedDeclaration": 9425, - "src": "5816:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "5739:100:30" - }, - "returnParameters": { - "id": 9645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9644, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9675, - "src": "5863:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5863:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5862:9:30" - }, - "scope": 10283, - "src": "5724:337:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9786, - "nodeType": "Block", - "src": "6337:1585:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9683, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "6351:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 9684, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6356:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6351:6:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9689, - "nodeType": "IfStatement", - "src": "6347:45:30", - "trueBody": { - "id": 9688, - "nodeType": "Block", - "src": "6359:33:30", - "statements": [ - { - "expression": { - "hexValue": "30", - "id": 9686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6380:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 9682, - "id": 9687, - "nodeType": "Return", - "src": "6373:8:30" - } - ] - } - }, - { - "assignments": [ - 9691 - ], - "declarations": [ - { - "constant": false, - "id": 9691, - "mutability": "mutable", - "name": "result", - "nameLocation": "7079:6:30", - "nodeType": "VariableDeclaration", - "scope": 9786, - "src": "7071:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7071:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9700, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 9692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7088:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 9694, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7099:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9693, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9955, - 9991 - ], - "referencedDeclaration": 9955, - "src": "7094:4:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 9695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7094:7:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7105:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7094:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9698, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7093:14:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7088:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7071:36:30" - }, - { - "id": 9785, - "nodeType": "UncheckedBlock", - "src": "7508:408:30", - "statements": [ - { - "expression": { - "id": 9710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9701, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7532:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9702, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7542:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9703, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7551:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9704, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7555:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7551:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7542:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9707, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7541:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7566:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7541:26:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7532:35:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9711, - "nodeType": "ExpressionStatement", - "src": "7532:35:30" - }, - { - "expression": { - "id": 9721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9712, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7581:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9713, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7591:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9714, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7600:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9715, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7604:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7600:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7591:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9718, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7590:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7615:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7590:26:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7581:35:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9722, - "nodeType": "ExpressionStatement", - "src": "7581:35:30" - }, - { - "expression": { - "id": 9732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9723, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7630:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9724, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7640:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9725, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7649:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9726, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7653:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7649:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7640:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9729, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7639:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7664:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7639:26:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7630:35:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9733, - "nodeType": "ExpressionStatement", - "src": "7630:35:30" - }, - { - "expression": { - "id": 9743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9734, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7679:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9735, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7689:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9736, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7698:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9737, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7702:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7698:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7689:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9740, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7688:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7713:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7688:26:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7679:35:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9744, - "nodeType": "ExpressionStatement", - "src": "7679:35:30" - }, - { - "expression": { - "id": 9754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9745, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7728:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9746, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7738:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9747, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7747:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9748, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7751:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7747:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7738:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9751, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7737:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7762:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7737:26:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7728:35:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9755, - "nodeType": "ExpressionStatement", - "src": "7728:35:30" - }, - { - "expression": { - "id": 9765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9756, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7777:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9757, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7787:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9758, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7796:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9759, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7800:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7796:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7787:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9762, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7786:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7811:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7786:26:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7777:35:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9766, - "nodeType": "ExpressionStatement", - "src": "7777:35:30" - }, - { - "expression": { - "id": 9776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9767, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7826:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9768, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7836:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9769, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7845:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9770, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7849:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7845:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7836:19:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 9773, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "7835:21:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9774, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7860:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7835:26:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7826:35:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9777, - "nodeType": "ExpressionStatement", - "src": "7826:35:30" - }, - { - "expression": { - "arguments": [ - { - "id": 9779, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7886:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9780, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9678, - "src": "7894:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 9781, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9691, - "src": "7898:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7894:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9778, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "7882:3:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 9783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7882:23:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9682, - "id": 9784, - "nodeType": "Return", - "src": "7875:30:30" - } - ] - } - ] - }, - "documentation": { - "id": 9676, - "nodeType": "StructuredDocumentation", - "src": "6067:208:30", - "text": " @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)." - }, - "id": 9787, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "6289:4:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9678, - "mutability": "mutable", - "name": "a", - "nameLocation": "6302:1:30", - "nodeType": "VariableDeclaration", - "scope": 9787, - "src": "6294:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6294:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6293:11:30" - }, - "returnParameters": { - "id": 9682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9681, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9787, - "src": "6328:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6328:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6327:9:30" - }, - "scope": 10283, - "src": "6280:1642:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9822, - "nodeType": "Block", - "src": "8098:161:30", - "statements": [ - { - "id": 9821, - "nodeType": "UncheckedBlock", - "src": "8108:145:30", - "statements": [ - { - "assignments": [ - 9799 - ], - "declarations": [ - { - "constant": false, - "id": 9799, - "mutability": "mutable", - "name": "result", - "nameLocation": "8140:6:30", - "nodeType": "VariableDeclaration", - "scope": 9821, - "src": "8132:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8132:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9803, - "initialValue": { - "arguments": [ - { - "id": 9801, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9790, - "src": "8154:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9800, - "name": "sqrt", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9787, - 9823 - ], - "referencedDeclaration": 9787, - "src": "8149:4:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 9802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8149:7:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8132:24:30" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9804, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9799, - "src": "8177:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "id": 9808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9805, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9793, - "src": "8187:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 9806, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "8199:8:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$9425_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 9807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "8208:2:30", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 9423, - "src": "8199:11:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "src": "8187:23:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9809, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9799, - "src": "8214:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 9810, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9799, - "src": "8223:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8214:15:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 9812, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9790, - "src": "8232:1:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8214:19:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8187:46:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 9816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8240:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 9817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "8187:54:30", - "trueExpression": { - "hexValue": "31", - "id": 9815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8236:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 9818, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8186:56:30", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "8177:65:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9797, - "id": 9820, - "nodeType": "Return", - "src": "8170:72:30" - } - ] - } - ] - }, - "documentation": { - "id": 9788, - "nodeType": "StructuredDocumentation", - "src": "7928:89:30", - "text": " @notice Calculates sqrt(a), following the selected rounding direction." - }, - "id": 9823, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sqrt", - "nameLocation": "8031:4:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9790, - "mutability": "mutable", - "name": "a", - "nameLocation": "8044:1:30", - "nodeType": "VariableDeclaration", - "scope": 9823, - "src": "8036:9:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8036:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9793, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "8056:8:30", - "nodeType": "VariableDeclaration", - "scope": 9823, - "src": "8047:17:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 9792, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 9791, - "name": "Rounding", - "nameLocations": [ - "8047:8:30" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 9425, - "src": "8047:8:30" - }, - "referencedDeclaration": 9425, - "src": "8047:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "8035:30:30" - }, - "returnParameters": { - "id": 9797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9796, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9823, - "src": "8089:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9795, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8089:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8088:9:30" - }, - "scope": 10283, - "src": "8022:237:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9954, - "nodeType": "Block", - "src": "8444:922:30", - "statements": [ - { - "assignments": [ - 9832 - ], - "declarations": [ - { - "constant": false, - "id": 9832, - "mutability": "mutable", - "name": "result", - "nameLocation": "8462:6:30", - "nodeType": "VariableDeclaration", - "scope": 9954, - "src": "8454:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8454:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9834, - "initialValue": { - "hexValue": "30", - "id": 9833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8471:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8454:18:30" - }, - { - "id": 9951, - "nodeType": "UncheckedBlock", - "src": "8482:855:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9835, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8510:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 9836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8519:3:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8510:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8525:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8510:16:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9849, - "nodeType": "IfStatement", - "src": "8506:99:30", - "trueBody": { - "id": 9848, - "nodeType": "Block", - "src": "8528:77:30", - "statements": [ - { - "expression": { - "id": 9842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9840, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8546:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 9841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8556:3:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8546:13:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9843, - "nodeType": "ExpressionStatement", - "src": "8546:13:30" - }, - { - "expression": { - "id": 9846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9844, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "8577:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "313238", - "id": 9845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8587:3:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "8577:13:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9847, - "nodeType": "ExpressionStatement", - "src": "8577:13:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9850, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8622:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 9851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8631:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8622:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8636:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8622:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9864, - "nodeType": "IfStatement", - "src": "8618:96:30", - "trueBody": { - "id": 9863, - "nodeType": "Block", - "src": "8639:75:30", - "statements": [ - { - "expression": { - "id": 9857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9855, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8657:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 9856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8667:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8657:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9858, - "nodeType": "ExpressionStatement", - "src": "8657:12:30" - }, - { - "expression": { - "id": 9861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9859, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "8687:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 9860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8697:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "8687:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9862, - "nodeType": "ExpressionStatement", - "src": "8687:12:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9865, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8731:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 9866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8740:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "8731:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8745:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8731:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9879, - "nodeType": "IfStatement", - "src": "8727:96:30", - "trueBody": { - "id": 9878, - "nodeType": "Block", - "src": "8748:75:30", - "statements": [ - { - "expression": { - "id": 9872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9870, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8766:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 9871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8776:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "8766:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9873, - "nodeType": "ExpressionStatement", - "src": "8766:12:30" - }, - { - "expression": { - "id": 9876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9874, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "8796:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 9875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8806:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "8796:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9877, - "nodeType": "ExpressionStatement", - "src": "8796:12:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9880, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8840:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 9881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8849:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "8840:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8854:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8840:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9894, - "nodeType": "IfStatement", - "src": "8836:96:30", - "trueBody": { - "id": 9893, - "nodeType": "Block", - "src": "8857:75:30", - "statements": [ - { - "expression": { - "id": 9887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9885, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8875:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 9886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8885:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "8875:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9888, - "nodeType": "ExpressionStatement", - "src": "8875:12:30" - }, - { - "expression": { - "id": 9891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9889, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "8905:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 9890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8915:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "8905:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9892, - "nodeType": "ExpressionStatement", - "src": "8905:12:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9895, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8949:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 9896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8958:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "8949:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8962:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8949:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9909, - "nodeType": "IfStatement", - "src": "8945:93:30", - "trueBody": { - "id": 9908, - "nodeType": "Block", - "src": "8965:73:30", - "statements": [ - { - "expression": { - "id": 9902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9900, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "8983:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "38", - "id": 9901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8993:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "8983:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9903, - "nodeType": "ExpressionStatement", - "src": "8983:11:30" - }, - { - "expression": { - "id": 9906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9904, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "9012:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 9905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9022:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "9012:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9907, - "nodeType": "ExpressionStatement", - "src": "9012:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9910, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "9055:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "34", - "id": 9911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9064:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9055:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9913, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9068:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9055:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9924, - "nodeType": "IfStatement", - "src": "9051:93:30", - "trueBody": { - "id": 9923, - "nodeType": "Block", - "src": "9071:73:30", - "statements": [ - { - "expression": { - "id": 9917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9915, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "9089:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 9916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9099:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9089:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9918, - "nodeType": "ExpressionStatement", - "src": "9089:11:30" - }, - { - "expression": { - "id": 9921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9919, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "9118:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 9920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9128:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "9118:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9922, - "nodeType": "ExpressionStatement", - "src": "9118:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9925, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "9161:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "32", - "id": 9926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9170:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9161:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9174:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9161:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9939, - "nodeType": "IfStatement", - "src": "9157:93:30", - "trueBody": { - "id": 9938, - "nodeType": "Block", - "src": "9177:73:30", - "statements": [ - { - "expression": { - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9930, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "9195:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "32", - "id": 9931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9205:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9195:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9933, - "nodeType": "ExpressionStatement", - "src": "9195:11:30" - }, - { - "expression": { - "id": 9936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9934, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "9224:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 9935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9234:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9224:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9937, - "nodeType": "ExpressionStatement", - "src": "9224:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9940, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9826, - "src": "9267:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "31", - "id": 9941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9276:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9267:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 9943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9280:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9267:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9950, - "nodeType": "IfStatement", - "src": "9263:64:30", - "trueBody": { - "id": 9949, - "nodeType": "Block", - "src": "9283:44:30", - "statements": [ - { - "expression": { - "id": 9947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 9945, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "9301:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 9946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9311:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9301:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9948, - "nodeType": "ExpressionStatement", - "src": "9301:11:30" - } - ] - } - } - ] - }, - { - "expression": { - "id": 9952, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9832, - "src": "9353:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9830, - "id": 9953, - "nodeType": "Return", - "src": "9346:13:30" - } - ] - }, - "documentation": { - "id": 9824, - "nodeType": "StructuredDocumentation", - "src": "8265:113:30", - "text": " @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0." - }, - "id": 9955, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "8392:4:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9826, - "mutability": "mutable", - "name": "value", - "nameLocation": "8405:5:30", - "nodeType": "VariableDeclaration", - "scope": 9955, - "src": "8397:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8397:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8396:15:30" - }, - "returnParameters": { - "id": 9830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9829, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9955, - "src": "8435:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8435:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8434:9:30" - }, - "scope": 10283, - "src": "8383:983:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9990, - "nodeType": "Block", - "src": "9599:165:30", - "statements": [ - { - "id": 9989, - "nodeType": "UncheckedBlock", - "src": "9609:149:30", - "statements": [ - { - "assignments": [ - 9967 - ], - "declarations": [ - { - "constant": false, - "id": 9967, - "mutability": "mutable", - "name": "result", - "nameLocation": "9641:6:30", - "nodeType": "VariableDeclaration", - "scope": 9989, - "src": "9633:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9633:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 9971, - "initialValue": { - "arguments": [ - { - "id": 9969, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9958, - "src": "9655:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9968, - "name": "log2", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9955, - 9991 - ], - "referencedDeclaration": 9955, - "src": "9650:4:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 9970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9650:11:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9633:28:30" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9972, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9967, - "src": "9682:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 9982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "id": 9976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 9973, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9961, - "src": "9692:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 9974, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "9704:8:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$9425_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 9975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9713:2:30", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 9423, - "src": "9704:11:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "src": "9692:23:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 9977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9719:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "id": 9978, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9967, - "src": "9724:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9719:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 9980, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9958, - "src": "9733:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9719:19:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9692:46:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 9984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9745:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 9985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "9692:54:30", - "trueExpression": { - "hexValue": "31", - "id": 9983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9741:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 9986, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9691:56:30", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "9682:65:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9965, - "id": 9988, - "nodeType": "Return", - "src": "9675:72:30" - } - ] - } - ] - }, - "documentation": { - "id": 9956, - "nodeType": "StructuredDocumentation", - "src": "9372:142:30", - "text": " @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 9991, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log2", - "nameLocation": "9528:4:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9958, - "mutability": "mutable", - "name": "value", - "nameLocation": "9541:5:30", - "nodeType": "VariableDeclaration", - "scope": 9991, - "src": "9533:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9533:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 9961, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "9557:8:30", - "nodeType": "VariableDeclaration", - "scope": 9991, - "src": "9548:17:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 9960, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 9959, - "name": "Rounding", - "nameLocations": [ - "9548:8:30" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 9425, - "src": "9548:8:30" - }, - "referencedDeclaration": 9425, - "src": "9548:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "9532:34:30" - }, - "returnParameters": { - "id": 9965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9964, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 9991, - "src": "9590:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9590:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9589:9:30" - }, - "scope": 10283, - "src": "9519:245:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10119, - "nodeType": "Block", - "src": "9951:828:30", - "statements": [ - { - "assignments": [ - 10000 - ], - "declarations": [ - { - "constant": false, - "id": 10000, - "mutability": "mutable", - "name": "result", - "nameLocation": "9969:6:30", - "nodeType": "VariableDeclaration", - "scope": 10119, - "src": "9961:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9961:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 10002, - "initialValue": { - "hexValue": "30", - "id": 10001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9978:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9961:18:30" - }, - { - "id": 10116, - "nodeType": "UncheckedBlock", - "src": "9989:761:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10003, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10017:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - }, - "id": 10006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10026:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 10005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10030:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10026:6:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "10017:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10019, - "nodeType": "IfStatement", - "src": "10013:99:30", - "trueBody": { - "id": 10018, - "nodeType": "Block", - "src": "10034:78:30", - "statements": [ - { - "expression": { - "id": 10012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10008, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10052:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - }, - "id": 10011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10061:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 10010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10065:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10061:6:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(57 digits omitted)...0000" - } - }, - "src": "10052:15:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10013, - "nodeType": "ExpressionStatement", - "src": "10052:15:30" - }, - { - "expression": { - "id": 10016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10014, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10085:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3634", - "id": 10015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10095:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "10085:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10017, - "nodeType": "ExpressionStatement", - "src": "10085:12:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10020, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10129:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - }, - "id": 10023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10138:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 10022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10142:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10138:6:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "10129:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10036, - "nodeType": "IfStatement", - "src": "10125:99:30", - "trueBody": { - "id": 10035, - "nodeType": "Block", - "src": "10146:78:30", - "statements": [ - { - "expression": { - "id": 10029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10025, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10164:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - }, - "id": 10028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10173:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3332", - "id": 10027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10177:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10173:6:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000000000_by_1", - "typeString": "int_const 1000...(25 digits omitted)...0000" - } - }, - "src": "10164:15:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10030, - "nodeType": "ExpressionStatement", - "src": "10164:15:30" - }, - { - "expression": { - "id": 10033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10031, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10197:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3332", - "id": 10032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10207:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "10197:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10034, - "nodeType": "ExpressionStatement", - "src": "10197:12:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10037, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10241:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 10040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10250:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 10039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10254:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10250:6:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "10241:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10053, - "nodeType": "IfStatement", - "src": "10237:99:30", - "trueBody": { - "id": 10052, - "nodeType": "Block", - "src": "10258:78:30", - "statements": [ - { - "expression": { - "id": 10046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10042, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10276:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - }, - "id": 10045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10285:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3136", - "id": 10044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10289:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10285:6:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000000000000_by_1", - "typeString": "int_const 10000000000000000" - } - }, - "src": "10276:15:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10047, - "nodeType": "ExpressionStatement", - "src": "10276:15:30" - }, - { - "expression": { - "id": 10050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10048, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10309:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 10049, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10319:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "10309:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10051, - "nodeType": "ExpressionStatement", - "src": "10309:12:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10054, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10353:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 10057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10362:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 10056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10366:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10362:5:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "10353:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10070, - "nodeType": "IfStatement", - "src": "10349:96:30", - "trueBody": { - "id": 10069, - "nodeType": "Block", - "src": "10369:76:30", - "statements": [ - { - "expression": { - "id": 10063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10059, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10387:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "id": 10062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10396:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "38", - "id": 10061, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10400:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10396:5:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - } - }, - "src": "10387:14:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10064, - "nodeType": "ExpressionStatement", - "src": "10387:14:30" - }, - { - "expression": { - "id": 10067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10065, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10419:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 10066, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10429:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "10419:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10068, - "nodeType": "ExpressionStatement", - "src": "10419:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10071, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10462:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 10074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10471:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 10073, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10475:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10471:5:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "10462:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10087, - "nodeType": "IfStatement", - "src": "10458:96:30", - "trueBody": { - "id": 10086, - "nodeType": "Block", - "src": "10478:76:30", - "statements": [ - { - "expression": { - "id": 10080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10076, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10496:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 10079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10505:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 10078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10509:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10505:5:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "src": "10496:14:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10081, - "nodeType": "ExpressionStatement", - "src": "10496:14:30" - }, - { - "expression": { - "id": 10084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10082, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10528:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 10083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10538:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "10528:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10085, - "nodeType": "ExpressionStatement", - "src": "10528:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10088, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10571:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 10091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10580:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 10090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10584:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10580:5:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "10571:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10104, - "nodeType": "IfStatement", - "src": "10567:96:30", - "trueBody": { - "id": 10103, - "nodeType": "Block", - "src": "10587:76:30", - "statements": [ - { - "expression": { - "id": 10097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10093, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10605:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "id": 10096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10614:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "32", - "id": 10095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10618:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10614:5:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - }, - "src": "10605:14:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10098, - "nodeType": "ExpressionStatement", - "src": "10605:14:30" - }, - { - "expression": { - "id": 10101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10099, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10637:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 10100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10647:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "10637:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10102, - "nodeType": "ExpressionStatement", - "src": "10637:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10105, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9994, - "src": "10680:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "id": 10108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10689:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "31", - "id": 10107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10693:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10689:5:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - } - }, - "src": "10680:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10115, - "nodeType": "IfStatement", - "src": "10676:64:30", - "trueBody": { - "id": 10114, - "nodeType": "Block", - "src": "10696:44:30", - "statements": [ - { - "expression": { - "id": 10112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10110, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10714:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 10111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10724:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10714:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10113, - "nodeType": "ExpressionStatement", - "src": "10714:11:30" - } - ] - } - } - ] - }, - { - "expression": { - "id": 10117, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10000, - "src": "10766:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9998, - "id": 10118, - "nodeType": "Return", - "src": "10759:13:30" - } - ] - }, - "documentation": { - "id": 9992, - "nodeType": "StructuredDocumentation", - "src": "9770:114:30", - "text": " @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0." - }, - "id": 10120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "9898:5:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9994, - "mutability": "mutable", - "name": "value", - "nameLocation": "9912:5:30", - "nodeType": "VariableDeclaration", - "scope": 10120, - "src": "9904:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9904:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9903:15:30" - }, - "returnParameters": { - "id": 9998, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9997, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10120, - "src": "9942:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9942:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9941:9:30" - }, - "scope": 10283, - "src": "9889:890:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10155, - "nodeType": "Block", - "src": "11014:165:30", - "statements": [ - { - "id": 10154, - "nodeType": "UncheckedBlock", - "src": "11024:149:30", - "statements": [ - { - "assignments": [ - 10132 - ], - "declarations": [ - { - "constant": false, - "id": 10132, - "mutability": "mutable", - "name": "result", - "nameLocation": "11056:6:30", - "nodeType": "VariableDeclaration", - "scope": 10154, - "src": "11048:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11048:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 10136, - "initialValue": { - "arguments": [ - { - "id": 10134, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "11071:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10133, - "name": "log10", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10120, - 10156 - ], - "referencedDeclaration": 10120, - "src": "11065:5:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11065:12:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11048:29:30" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10137, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10132, - "src": "11098:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 10147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "id": 10141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10138, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10126, - "src": "11108:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 10139, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "11120:8:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$9425_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 10140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11129:2:30", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 9423, - "src": "11120:11:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "src": "11108:23:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 10142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11135:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 10143, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10132, - "src": "11139:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11135:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 10145, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "11148:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11135:18:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11108:45:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 10149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11160:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 10150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "11108:53:30", - "trueExpression": { - "hexValue": "31", - "id": 10148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11156:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 10151, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11107:55:30", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "11098:64:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10130, - "id": 10153, - "nodeType": "Return", - "src": "11091:71:30" - } - ] - } - ] - }, - "documentation": { - "id": 10121, - "nodeType": "StructuredDocumentation", - "src": "10785:143:30", - "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 10156, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log10", - "nameLocation": "10942:5:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10123, - "mutability": "mutable", - "name": "value", - "nameLocation": "10956:5:30", - "nodeType": "VariableDeclaration", - "scope": 10156, - "src": "10948:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10122, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10948:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10126, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "10972:8:30", - "nodeType": "VariableDeclaration", - "scope": 10156, - "src": "10963:17:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 10125, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 10124, - "name": "Rounding", - "nameLocations": [ - "10963:8:30" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 9425, - "src": "10963:8:30" - }, - "referencedDeclaration": 9425, - "src": "10963:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "10947:34:30" - }, - "returnParameters": { - "id": 10130, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10129, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10156, - "src": "11005:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11005:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11004:9:30" - }, - "scope": 10283, - "src": "10933:246:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10242, - "nodeType": "Block", - "src": "11493:600:30", - "statements": [ - { - "assignments": [ - 10165 - ], - "declarations": [ - { - "constant": false, - "id": 10165, - "mutability": "mutable", - "name": "result", - "nameLocation": "11511:6:30", - "nodeType": "VariableDeclaration", - "scope": 10242, - "src": "11503:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11503:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 10167, - "initialValue": { - "hexValue": "30", - "id": 10166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11520:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11503:18:30" - }, - { - "id": 10239, - "nodeType": "UncheckedBlock", - "src": "11531:533:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10168, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11559:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 10169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11568:3:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "11559:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 10171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11574:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11559:16:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10182, - "nodeType": "IfStatement", - "src": "11555:98:30", - "trueBody": { - "id": 10181, - "nodeType": "Block", - "src": "11577:76:30", - "statements": [ - { - "expression": { - "id": 10175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10173, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11595:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "313238", - "id": 10174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11605:3:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "11595:13:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10176, - "nodeType": "ExpressionStatement", - "src": "11595:13:30" - }, - { - "expression": { - "id": 10179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10177, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10165, - "src": "11626:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "3136", - "id": 10178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11636:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11626:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10180, - "nodeType": "ExpressionStatement", - "src": "11626:12:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10183, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11670:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 10184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11679:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "11670:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 10186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11684:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11670:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10197, - "nodeType": "IfStatement", - "src": "11666:95:30", - "trueBody": { - "id": 10196, - "nodeType": "Block", - "src": "11687:74:30", - "statements": [ - { - "expression": { - "id": 10190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10188, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11705:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3634", - "id": 10189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11715:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "11705:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10191, - "nodeType": "ExpressionStatement", - "src": "11705:12:30" - }, - { - "expression": { - "id": 10194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10192, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10165, - "src": "11735:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "38", - "id": 10193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11745:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "11735:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10195, - "nodeType": "ExpressionStatement", - "src": "11735:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10198, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11778:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3332", - "id": 10199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11787:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "11778:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 10201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11792:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11778:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10212, - "nodeType": "IfStatement", - "src": "11774:95:30", - "trueBody": { - "id": 10211, - "nodeType": "Block", - "src": "11795:74:30", - "statements": [ - { - "expression": { - "id": 10205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10203, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11813:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3332", - "id": 10204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11823:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_32_by_1", - "typeString": "int_const 32" - }, - "value": "32" - }, - "src": "11813:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10206, - "nodeType": "ExpressionStatement", - "src": "11813:12:30" - }, - { - "expression": { - "id": 10209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10207, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10165, - "src": "11843:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "34", - "id": 10208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11853:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "11843:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10210, - "nodeType": "ExpressionStatement", - "src": "11843:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10213, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11886:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3136", - "id": 10214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11895:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11886:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 10216, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11900:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11886:15:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10227, - "nodeType": "IfStatement", - "src": "11882:95:30", - "trueBody": { - "id": 10226, - "nodeType": "Block", - "src": "11903:74:30", - "statements": [ - { - "expression": { - "id": 10220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10218, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11921:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "3136", - "id": 10219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11931:2:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "src": "11921:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10221, - "nodeType": "ExpressionStatement", - "src": "11921:12:30" - }, - { - "expression": { - "id": 10224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10222, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10165, - "src": "11951:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "32", - "id": 10223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11961:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "11951:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10225, - "nodeType": "ExpressionStatement", - "src": "11951:11:30" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10228, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10159, - "src": "11994:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "38", - "id": 10229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12003:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "11994:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 10231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12007:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11994:14:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10238, - "nodeType": "IfStatement", - "src": "11990:64:30", - "trueBody": { - "id": 10237, - "nodeType": "Block", - "src": "12010:44:30", - "statements": [ - { - "expression": { - "id": 10235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10233, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10165, - "src": "12028:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "hexValue": "31", - "id": 10234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12038:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "12028:11:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10236, - "nodeType": "ExpressionStatement", - "src": "12028:11:30" - } - ] - } - } - ] - }, - { - "expression": { - "id": 10240, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10165, - "src": "12080:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10163, - "id": 10241, - "nodeType": "Return", - "src": "12073:13:30" - } - ] - }, - "documentation": { - "id": 10157, - "nodeType": "StructuredDocumentation", - "src": "11185:240:30", - "text": " @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string." - }, - "id": 10243, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "11439:6:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10159, - "mutability": "mutable", - "name": "value", - "nameLocation": "11454:5:30", - "nodeType": "VariableDeclaration", - "scope": 10243, - "src": "11446:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11446:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11445:15:30" - }, - "returnParameters": { - "id": 10163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10162, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10243, - "src": "11484:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11484:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11483:9:30" - }, - "scope": 10283, - "src": "11430:663:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10281, - "nodeType": "Block", - "src": "12329:173:30", - "statements": [ - { - "id": 10280, - "nodeType": "UncheckedBlock", - "src": "12339:157:30", - "statements": [ - { - "assignments": [ - 10255 - ], - "declarations": [ - { - "constant": false, - "id": 10255, - "mutability": "mutable", - "name": "result", - "nameLocation": "12371:6:30", - "nodeType": "VariableDeclaration", - "scope": 10280, - "src": "12363:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12363:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 10259, - "initialValue": { - "arguments": [ - { - "id": 10257, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10246, - "src": "12387:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10256, - "name": "log256", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10243, - 10282 - ], - "referencedDeclaration": 10243, - "src": "12380:6:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12380:13:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12363:30:30" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10260, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "12414:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 10273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "id": 10264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10261, - "name": "rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10249, - "src": "12424:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 10262, - "name": "Rounding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9425, - "src": "12436:8:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Rounding_$9425_$", - "typeString": "type(enum Math.Rounding)" - } - }, - "id": 10263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12445:2:30", - "memberName": "Up", - "nodeType": "MemberAccess", - "referencedDeclaration": 9423, - "src": "12436:11:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "src": "12424:23:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31", - "id": 10265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12451:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10266, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10255, - "src": "12457:6:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "hexValue": "38", - "id": 10267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12466:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "12457:10:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 10269, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12456:12:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12451:17:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 10271, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10246, - "src": "12471:5:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12451:25:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12424:52:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "30", - "id": 10275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12483:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "id": 10276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "12424:60:30", - "trueExpression": { - "hexValue": "31", - "id": 10274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12479:1:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 10277, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12423:62:30", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "12414:71:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10253, - "id": 10279, - "nodeType": "Return", - "src": "12407:78:30" - } - ] - } - ] - }, - "documentation": { - "id": 10244, - "nodeType": "StructuredDocumentation", - "src": "12099:143:30", - "text": " @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0." - }, - "id": 10282, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "log256", - "nameLocation": "12256:6:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10246, - "mutability": "mutable", - "name": "value", - "nameLocation": "12271:5:30", - "nodeType": "VariableDeclaration", - "scope": 10282, - "src": "12263:13:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12263:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10249, - "mutability": "mutable", - "name": "rounding", - "nameLocation": "12287:8:30", - "nodeType": "VariableDeclaration", - "scope": 10282, - "src": "12278:17:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - }, - "typeName": { - "id": 10248, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 10247, - "name": "Rounding", - "nameLocations": [ - "12278:8:30" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 9425, - "src": "12278:8:30" - }, - "referencedDeclaration": 9425, - "src": "12278:8:30", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Rounding_$9425", - "typeString": "enum Math.Rounding" - } - }, - "visibility": "internal" - } - ], - "src": "12262:34:30" - }, - "returnParameters": { - "id": 10253, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10252, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10282, - "src": "12320:7:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12320:7:30", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12319:9:30" - }, - "scope": 10283, - "src": "12247:255:30", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10284, - "src": "202:12302:30", - "usedErrors": [] - } - ], - "src": "103:12402:30" - }, - "bytecode": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b3fe10f8ab671c4b5b435eefd651a9d86333e2112bc11ddb79d33640fde9dd3564736f6c63430008110033", - "bytecodeSha1": "1ce946f6a4eaa185320328620ccf999b9e86db7c", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "Math", - "coverageMap": { - "branches": { - "30": {} - }, - "statements": { - "30": {} - } - }, - "dependencies": [], - "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b3fe10f8ab671c4b5b435eefd651a9d86333e2112bc11ddb79d33640fde9dd3564736f6c63430008110033", - "deployedSourceMap": "202:12302:30:-:0;;;;;;;;", - "language": "Solidity", - "natspec": { - "details": "Standard math utilities missing in the Solidity language.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "offset": [ - 202, - 12504 - ], - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB3 INVALID LT 0xF8 0xAB PUSH8 0x1C4B5B435EEFD651 0xA9 0xD8 PUSH4 0x33E2112B 0xC1 SAR 0xDB PUSH26 0xD33640FDE9DD3564736F6C634300081100330000000000000000 ", - "pcMap": { - "0": { - "offset": [ - 202, - 12504 - ], - "op": "PUSH20", - "path": "30", - "value": "0x0" - }, - "21": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "ADDRESS", - "path": "30" - }, - "22": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "EQ", - "path": "30" - }, - "23": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "PUSH1", - "path": "30", - "value": "0x80" - }, - "25": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "PUSH1", - "path": "30", - "value": "0x40" - }, - "27": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "MSTORE", - "path": "30" - }, - "28": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "PUSH1", - "path": "30", - "value": "0x0" - }, - "30": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "DUP1", - "path": "30" - }, - "31": { - "fn": null, - "offset": [ - 202, - 12504 - ], - "op": "REVERT", - "path": "30" - } - }, - "sha1": "4feda8787f561115f7eaa751d226fcb605e969ad", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Down, // Toward negative infinity\n Up, // Toward infinity\n Zero // Toward zero\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds up instead\n * of rounding down.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n * with further edits by Uniswap Labs also under MIT license.\n */\n function mulDiv(\n uint256 x,\n uint256 y,\n uint256 denominator\n ) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod0 := mul(x, y)\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n require(denominator > prod1);\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\n // See https://cs.stackexchange.com/q/138556/92363.\n\n // Does not overflow because the denominator cannot be zero at this stage in the function.\n uint256 twos = denominator & (~denominator + 1);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\n // in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(\n uint256 x,\n uint256 y,\n uint256 denominator,\n Rounding rounding\n ) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // \u2192 `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // \u2192 `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10**64) {\n value /= 10**64;\n result += 64;\n }\n if (value >= 10**32) {\n value /= 10**32;\n result += 32;\n }\n if (value >= 10**16) {\n value /= 10**16;\n result += 16;\n }\n if (value >= 10**8) {\n value /= 10**8;\n result += 8;\n }\n if (value >= 10**4) {\n value /= 10**4;\n result += 4;\n }\n if (value >= 10**2) {\n value /= 10**2;\n result += 2;\n }\n if (value >= 10**1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (rounding == Rounding.Up && 10**result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256, rounded down, of a positive value.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (rounding == Rounding.Up && 1 << (result * 8) < value ? 1 : 0);\n }\n }\n}\n", - "sourceMap": "202:12302:30:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12302:30;;;;;;;;;;;;;;;;;", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "type": "library" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Ownable.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Ownable.json deleted file mode 100644 index 00a8a5ee..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Ownable.json +++ /dev/null @@ -1,1435 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "0": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/Ownable.sol", - "1": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/Ownable.sol", - "exportedSymbols": { - "Context": [ - 173 - ], - "Ownable": [ - 151 - ] - }, - "id": 152, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 40, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "102:23:0" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 41, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 152, - "sourceUnit": 174, - "src": "127:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 43, - "name": "Context", - "nameLocations": [ - "683:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 173, - "src": "683:7:0" - }, - "id": 44, - "nodeType": "InheritanceSpecifier", - "src": "683:7:0" - } - ], - "canonicalName": "Ownable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 42, - "nodeType": "StructuredDocumentation", - "src": "159:494:0", - "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." - }, - "fullyImplemented": true, - "id": 151, - "linearizedBaseContracts": [ - 151, - 173 - ], - "name": "Ownable", - "nameLocation": "672:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 46, - "mutability": "mutable", - "name": "_owner", - "nameLocation": "713:6:0", - "nodeType": "VariableDeclaration", - "scope": 151, - "src": "697:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 45, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "id": 52, - "name": "OwnershipTransferred", - "nameLocation": "732:20:0", - "nodeType": "EventDefinition", - "parameters": { - "id": 51, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 48, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nameLocation": "769:13:0", - "nodeType": "VariableDeclaration", - "scope": 52, - "src": "753:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 47, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 50, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "800:8:0", - "nodeType": "VariableDeclaration", - "scope": 52, - "src": "784:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 49, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "784:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "752:57:0" - }, - "src": "726:84:0" - }, - { - "body": { - "id": 61, - "nodeType": "Block", - "src": "926:49:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 57, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "955:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 58, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "955:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 56, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "936:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "936:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 60, - "nodeType": "ExpressionStatement", - "src": "936:32:0" - } - ] - }, - "documentation": { - "id": 53, - "nodeType": "StructuredDocumentation", - "src": "816:91:0", - "text": " @dev Initializes the contract setting the deployer as the initial owner." - }, - "id": 62, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 54, - "nodeType": "ParameterList", - "parameters": [], - "src": "923:2:0" - }, - "returnParameters": { - "id": 55, - "nodeType": "ParameterList", - "parameters": [], - "src": "926:0:0" - }, - "scope": 151, - "src": "912:63:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 69, - "nodeType": "Block", - "src": "1084:41:0", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 65, - "name": "_checkOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1094:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1094:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 67, - "nodeType": "ExpressionStatement", - "src": "1094:13:0" - }, - { - "id": 68, - "nodeType": "PlaceholderStatement", - "src": "1117:1:0" - } - ] - }, - "documentation": { - "id": 63, - "nodeType": "StructuredDocumentation", - "src": "981:77:0", - "text": " @dev Throws if called by any account other than the owner." - }, - "id": 70, - "name": "onlyOwner", - "nameLocation": "1072:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 64, - "nodeType": "ParameterList", - "parameters": [], - "src": "1081:2:0" - }, - "src": "1063:62:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 78, - "nodeType": "Block", - "src": "1256:30:0", - "statements": [ - { - "expression": { - "id": 76, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "1273:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 75, - "id": 77, - "nodeType": "Return", - "src": "1266:13:0" - } - ] - }, - "documentation": { - "id": 71, - "nodeType": "StructuredDocumentation", - "src": "1131:65:0", - "text": " @dev Returns the address of the current owner." - }, - "functionSelector": "8da5cb5b", - "id": 79, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "1210:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [], - "src": "1215:2:0" - }, - "returnParameters": { - "id": 75, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 79, - "src": "1247:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 73, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1247:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1246:9:0" - }, - "scope": 151, - "src": "1201:85:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 92, - "nodeType": "Block", - "src": "1404:85:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 84, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "1422:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1422:7:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 86, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "1433:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 87, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1433:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1422:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 89, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1447:34:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - }, - "value": "Ownable: caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - } - ], - "id": 83, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1414:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1414:68:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 91, - "nodeType": "ExpressionStatement", - "src": "1414:68:0" - } - ] - }, - "documentation": { - "id": 80, - "nodeType": "StructuredDocumentation", - "src": "1292:62:0", - "text": " @dev Throws if the sender is not the owner." - }, - "id": 93, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOwner", - "nameLocation": "1368:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 81, - "nodeType": "ParameterList", - "parameters": [], - "src": "1379:2:0" - }, - "returnParameters": { - "id": 82, - "nodeType": "ParameterList", - "parameters": [], - "src": "1404:0:0" - }, - "scope": 151, - "src": "1359:130:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 106, - "nodeType": "Block", - "src": "1885:47:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1922:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": {} - } - }, - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1914:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 99, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "1895:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1895:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 105, - "nodeType": "ExpressionStatement", - "src": "1895:30:0" - } - ] - }, - "documentation": { - "id": 94, - "nodeType": "StructuredDocumentation", - "src": "1495:331:0", - "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." - }, - "functionSelector": "715018a6", - "id": 107, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 97, - "kind": "modifierInvocation", - "modifierName": { - "id": 96, - "name": "onlyOwner", - "nameLocations": [ - "1875:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70, - "src": "1875:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "1875:9:0" - } - ], - "name": "renounceOwnership", - "nameLocation": "1840:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 95, - "nodeType": "ParameterList", - "parameters": [], - "src": "1857:2:0" - }, - "returnParameters": { - "id": 98, - "nodeType": "ParameterList", - "parameters": [], - "src": "1885:0:0" - }, - "scope": 151, - "src": "1831:101:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 129, - "nodeType": "Block", - "src": "2151:128:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 116, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "2169:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2189:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2181:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2181:7:0", - "typeDescriptions": {} - } - }, - "id": 120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2181:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2169:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", - "id": 122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2193:40:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - }, - "value": "Ownable: new owner is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - } - ], - "id": 115, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2161:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2161:73:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 124, - "nodeType": "ExpressionStatement", - "src": "2161:73:0" - }, - { - "expression": { - "arguments": [ - { - "id": 126, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 110, - "src": "2263:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 125, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 150, - "src": "2244:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2244:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 128, - "nodeType": "ExpressionStatement", - "src": "2244:28:0" - } - ] - }, - "documentation": { - "id": 108, - "nodeType": "StructuredDocumentation", - "src": "1938:138:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." - }, - "functionSelector": "f2fde38b", - "id": 130, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 113, - "kind": "modifierInvocation", - "modifierName": { - "id": 112, - "name": "onlyOwner", - "nameLocations": [ - "2141:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70, - "src": "2141:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "2141:9:0" - } - ], - "name": "transferOwnership", - "nameLocation": "2090:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 110, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2116:8:0", - "nodeType": "VariableDeclaration", - "scope": 130, - "src": "2108:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2108:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2107:18:0" - }, - "returnParameters": { - "id": 114, - "nodeType": "ParameterList", - "parameters": [], - "src": "2151:0:0" - }, - "scope": 151, - "src": "2081:198:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 149, - "nodeType": "Block", - "src": "2496:124:0", - "statements": [ - { - "assignments": [ - 137 - ], - "declarations": [ - { - "constant": false, - "id": 137, - "mutability": "mutable", - "name": "oldOwner", - "nameLocation": "2514:8:0", - "nodeType": "VariableDeclaration", - "scope": 149, - "src": "2506:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2506:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 139, - "initialValue": { - "id": 138, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "2525:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2506:25:0" - }, - { - "expression": { - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 140, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46, - "src": "2541:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 141, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 133, - "src": "2550:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2541:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 143, - "nodeType": "ExpressionStatement", - "src": "2541:17:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 145, - "name": "oldOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 137, - "src": "2594:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 146, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 133, - "src": "2604:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 144, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "2573:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2573:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 148, - "nodeType": "EmitStatement", - "src": "2568:45:0" - } - ] - }, - "documentation": { - "id": 131, - "nodeType": "StructuredDocumentation", - "src": "2285:143:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." - }, - "id": 150, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOwnership", - "nameLocation": "2442:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 133, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2469:8:0", - "nodeType": "VariableDeclaration", - "scope": 150, - "src": "2461:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2461:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2460:18:0" - }, - "returnParameters": { - "id": 135, - "nodeType": "ParameterList", - "parameters": [], - "src": "2496:0:0" - }, - "scope": 151, - "src": "2433:187:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 152, - "src": "654:1968:0", - "usedErrors": [] - } - ], - "src": "102:2521:0" - }, - "bytecode": "", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "Ownable", - "coverageMap": { - "branches": {}, - "statements": {} - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context" - ], - "deployedBytecode": "", - "deployedSourceMap": "", - "language": "Solidity", - "natspec": { - "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", - "kind": "dev", - "methods": { - "constructor": { - "details": "Initializes the contract setting the deployer as the initial owner." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "offset": [ - 654, - 2622 - ], - "opcodes": "", - "pcMap": {}, - "sha1": "691ac8cc8ecc93fa144beb50c3b0263300d15321", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n", - "sourceMap": "", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/Ownable.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/SafeCast.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/SafeCast.json deleted file mode 100644 index 3d8b3a2c..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/SafeCast.json +++ /dev/null @@ -1,19886 +0,0 @@ -{ - "abi": [], - "allSourcePaths": { - "31": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol", - "exportedSymbols": { - "SafeCast": [ - 6501 - ] - }, - "id": 6502, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4962, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "192:23:31" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "SafeCast", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 4963, - "nodeType": "StructuredDocumentation", - "src": "217:709:31", - "text": " @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow\n checks.\n Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n easily result in undesired exploitation or bugs, since developers usually\n assume that overflows raise errors. `SafeCast` restores this intuition by\n reverting the transaction when such an operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always.\n Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing\n all math on `uint256` and `int256` and then downcasting." - }, - "fullyImplemented": true, - "id": 6501, - "linearizedBaseContracts": [ - 6501 - ], - "name": "SafeCast", - "nameLocation": "935:8:31", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4987, - "nodeType": "Block", - "src": "1339:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4972, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "1357:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 4975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1371:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint248_$", - "typeString": "type(uint248)" - }, - "typeName": { - "id": 4974, - "name": "uint248", - "nodeType": "ElementaryTypeName", - "src": "1371:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint248_$", - "typeString": "type(uint248)" - } - ], - "id": 4973, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1366:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1366:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint248", - "typeString": "type(uint248)" - } - }, - "id": 4977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1380:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1366:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint248", - "typeString": "uint248" - } - }, - "src": "1357:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203234382062697473", - "id": 4979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1385:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593", - "typeString": "literal_string \"SafeCast: value doesn't fit in 248 bits\"" - }, - "value": "SafeCast: value doesn't fit in 248 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593", - "typeString": "literal_string \"SafeCast: value doesn't fit in 248 bits\"" - } - ], - "id": 4971, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1349:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1349:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4981, - "nodeType": "ExpressionStatement", - "src": "1349:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 4984, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4966, - "src": "1452:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1444:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint248_$", - "typeString": "type(uint248)" - }, - "typeName": { - "id": 4982, - "name": "uint248", - "nodeType": "ElementaryTypeName", - "src": "1444:7:31", - "typeDescriptions": {} - } - }, - "id": 4985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1444:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint248", - "typeString": "uint248" - } - }, - "functionReturnParameters": 4970, - "id": 4986, - "nodeType": "Return", - "src": "1437:21:31" - } - ] - }, - "documentation": { - "id": 4964, - "nodeType": "StructuredDocumentation", - "src": "950:318:31", - "text": " @dev Returns the downcasted uint248 from uint256, reverting on\n overflow (when the input is greater than largest uint248).\n Counterpart to Solidity's `uint248` operator.\n Requirements:\n - input must fit into 248 bits\n _Available since v4.7._" - }, - "id": 4988, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint248", - "nameLocation": "1282:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4967, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4966, - "mutability": "mutable", - "name": "value", - "nameLocation": "1300:5:31", - "nodeType": "VariableDeclaration", - "scope": 4988, - "src": "1292:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1292:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1291:15:31" - }, - "returnParameters": { - "id": 4970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4969, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4988, - "src": "1330:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint248", - "typeString": "uint248" - }, - "typeName": { - "id": 4968, - "name": "uint248", - "nodeType": "ElementaryTypeName", - "src": "1330:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint248", - "typeString": "uint248" - } - }, - "visibility": "internal" - } - ], - "src": "1329:9:31" - }, - "scope": 6501, - "src": "1273:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5012, - "nodeType": "Block", - "src": "1860:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4997, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4991, - "src": "1878:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1892:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint240_$", - "typeString": "type(uint240)" - }, - "typeName": { - "id": 4999, - "name": "uint240", - "nodeType": "ElementaryTypeName", - "src": "1892:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint240_$", - "typeString": "type(uint240)" - } - ], - "id": 4998, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1887:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1887:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint240", - "typeString": "type(uint240)" - } - }, - "id": 5002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1901:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1887:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - }, - "src": "1878:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203234302062697473", - "id": 5004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1906:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87", - "typeString": "literal_string \"SafeCast: value doesn't fit in 240 bits\"" - }, - "value": "SafeCast: value doesn't fit in 240 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87", - "typeString": "literal_string \"SafeCast: value doesn't fit in 240 bits\"" - } - ], - "id": 4996, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1870:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1870:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5006, - "nodeType": "ExpressionStatement", - "src": "1870:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5009, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4991, - "src": "1973:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1965:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint240_$", - "typeString": "type(uint240)" - }, - "typeName": { - "id": 5007, - "name": "uint240", - "nodeType": "ElementaryTypeName", - "src": "1965:7:31", - "typeDescriptions": {} - } - }, - "id": 5010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1965:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - }, - "functionReturnParameters": 4995, - "id": 5011, - "nodeType": "Return", - "src": "1958:21:31" - } - ] - }, - "documentation": { - "id": 4989, - "nodeType": "StructuredDocumentation", - "src": "1471:318:31", - "text": " @dev Returns the downcasted uint240 from uint256, reverting on\n overflow (when the input is greater than largest uint240).\n Counterpart to Solidity's `uint240` operator.\n Requirements:\n - input must fit into 240 bits\n _Available since v4.7._" - }, - "id": 5013, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint240", - "nameLocation": "1803:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4991, - "mutability": "mutable", - "name": "value", - "nameLocation": "1821:5:31", - "nodeType": "VariableDeclaration", - "scope": 5013, - "src": "1813:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4990, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1813:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1812:15:31" - }, - "returnParameters": { - "id": 4995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4994, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5013, - "src": "1851:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - }, - "typeName": { - "id": 4993, - "name": "uint240", - "nodeType": "ElementaryTypeName", - "src": "1851:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint240", - "typeString": "uint240" - } - }, - "visibility": "internal" - } - ], - "src": "1850:9:31" - }, - "scope": 6501, - "src": "1794:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5037, - "nodeType": "Block", - "src": "2381:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5022, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "2399:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2413:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint232_$", - "typeString": "type(uint232)" - }, - "typeName": { - "id": 5024, - "name": "uint232", - "nodeType": "ElementaryTypeName", - "src": "2413:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint232_$", - "typeString": "type(uint232)" - } - ], - "id": 5023, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "2408:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2408:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint232", - "typeString": "type(uint232)" - } - }, - "id": 5027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2422:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "2408:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint232", - "typeString": "uint232" - } - }, - "src": "2399:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203233322062697473", - "id": 5029, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2427:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957", - "typeString": "literal_string \"SafeCast: value doesn't fit in 232 bits\"" - }, - "value": "SafeCast: value doesn't fit in 232 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957", - "typeString": "literal_string \"SafeCast: value doesn't fit in 232 bits\"" - } - ], - "id": 5021, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2391:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2391:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5031, - "nodeType": "ExpressionStatement", - "src": "2391:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5034, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5016, - "src": "2494:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2486:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint232_$", - "typeString": "type(uint232)" - }, - "typeName": { - "id": 5032, - "name": "uint232", - "nodeType": "ElementaryTypeName", - "src": "2486:7:31", - "typeDescriptions": {} - } - }, - "id": 5035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2486:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint232", - "typeString": "uint232" - } - }, - "functionReturnParameters": 5020, - "id": 5036, - "nodeType": "Return", - "src": "2479:21:31" - } - ] - }, - "documentation": { - "id": 5014, - "nodeType": "StructuredDocumentation", - "src": "1992:318:31", - "text": " @dev Returns the downcasted uint232 from uint256, reverting on\n overflow (when the input is greater than largest uint232).\n Counterpart to Solidity's `uint232` operator.\n Requirements:\n - input must fit into 232 bits\n _Available since v4.7._" - }, - "id": 5038, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint232", - "nameLocation": "2324:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5016, - "mutability": "mutable", - "name": "value", - "nameLocation": "2342:5:31", - "nodeType": "VariableDeclaration", - "scope": 5038, - "src": "2334:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2334:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2333:15:31" - }, - "returnParameters": { - "id": 5020, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5019, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5038, - "src": "2372:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint232", - "typeString": "uint232" - }, - "typeName": { - "id": 5018, - "name": "uint232", - "nodeType": "ElementaryTypeName", - "src": "2372:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint232", - "typeString": "uint232" - } - }, - "visibility": "internal" - } - ], - "src": "2371:9:31" - }, - "scope": 6501, - "src": "2315:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5062, - "nodeType": "Block", - "src": "2902:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5047, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "2920:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2934:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5049, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "2934:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - } - ], - "id": 5048, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "2929:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2929:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint224", - "typeString": "type(uint224)" - } - }, - "id": 5052, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2943:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "2929:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "src": "2920:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203232342062697473", - "id": 5054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2948:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79", - "typeString": "literal_string \"SafeCast: value doesn't fit in 224 bits\"" - }, - "value": "SafeCast: value doesn't fit in 224 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79", - "typeString": "literal_string \"SafeCast: value doesn't fit in 224 bits\"" - } - ], - "id": 5046, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2912:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2912:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5056, - "nodeType": "ExpressionStatement", - "src": "2912:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5059, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5041, - "src": "3015:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3007:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint224_$", - "typeString": "type(uint224)" - }, - "typeName": { - "id": 5057, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "3007:7:31", - "typeDescriptions": {} - } - }, - "id": 5060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3007:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "functionReturnParameters": 5045, - "id": 5061, - "nodeType": "Return", - "src": "3000:21:31" - } - ] - }, - "documentation": { - "id": 5039, - "nodeType": "StructuredDocumentation", - "src": "2513:318:31", - "text": " @dev Returns the downcasted uint224 from uint256, reverting on\n overflow (when the input is greater than largest uint224).\n Counterpart to Solidity's `uint224` operator.\n Requirements:\n - input must fit into 224 bits\n _Available since v4.2._" - }, - "id": 5063, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint224", - "nameLocation": "2845:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5041, - "mutability": "mutable", - "name": "value", - "nameLocation": "2863:5:31", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "2855:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2855:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2854:15:31" - }, - "returnParameters": { - "id": 5045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5044, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5063, - "src": "2893:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - }, - "typeName": { - "id": 5043, - "name": "uint224", - "nodeType": "ElementaryTypeName", - "src": "2893:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint224", - "typeString": "uint224" - } - }, - "visibility": "internal" - } - ], - "src": "2892:9:31" - }, - "scope": 6501, - "src": "2836:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5087, - "nodeType": "Block", - "src": "3423:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5072, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5066, - "src": "3441:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3455:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint216_$", - "typeString": "type(uint216)" - }, - "typeName": { - "id": 5074, - "name": "uint216", - "nodeType": "ElementaryTypeName", - "src": "3455:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint216_$", - "typeString": "type(uint216)" - } - ], - "id": 5073, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3450:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3450:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint216", - "typeString": "type(uint216)" - } - }, - "id": 5077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3464:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3450:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint216", - "typeString": "uint216" - } - }, - "src": "3441:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203231362062697473", - "id": 5079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3469:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 216 bits\"" - }, - "value": "SafeCast: value doesn't fit in 216 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 216 bits\"" - } - ], - "id": 5071, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3433:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3433:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5081, - "nodeType": "ExpressionStatement", - "src": "3433:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5084, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5066, - "src": "3536:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3528:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint216_$", - "typeString": "type(uint216)" - }, - "typeName": { - "id": 5082, - "name": "uint216", - "nodeType": "ElementaryTypeName", - "src": "3528:7:31", - "typeDescriptions": {} - } - }, - "id": 5085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3528:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint216", - "typeString": "uint216" - } - }, - "functionReturnParameters": 5070, - "id": 5086, - "nodeType": "Return", - "src": "3521:21:31" - } - ] - }, - "documentation": { - "id": 5064, - "nodeType": "StructuredDocumentation", - "src": "3034:318:31", - "text": " @dev Returns the downcasted uint216 from uint256, reverting on\n overflow (when the input is greater than largest uint216).\n Counterpart to Solidity's `uint216` operator.\n Requirements:\n - input must fit into 216 bits\n _Available since v4.7._" - }, - "id": 5088, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint216", - "nameLocation": "3366:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5067, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5066, - "mutability": "mutable", - "name": "value", - "nameLocation": "3384:5:31", - "nodeType": "VariableDeclaration", - "scope": 5088, - "src": "3376:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3376:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3375:15:31" - }, - "returnParameters": { - "id": 5070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5069, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5088, - "src": "3414:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint216", - "typeString": "uint216" - }, - "typeName": { - "id": 5068, - "name": "uint216", - "nodeType": "ElementaryTypeName", - "src": "3414:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint216", - "typeString": "uint216" - } - }, - "visibility": "internal" - } - ], - "src": "3413:9:31" - }, - "scope": 6501, - "src": "3357:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5112, - "nodeType": "Block", - "src": "3944:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5097, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "3962:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3976:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint208_$", - "typeString": "type(uint208)" - }, - "typeName": { - "id": 5099, - "name": "uint208", - "nodeType": "ElementaryTypeName", - "src": "3976:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint208_$", - "typeString": "type(uint208)" - } - ], - "id": 5098, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3971:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3971:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint208", - "typeString": "type(uint208)" - } - }, - "id": 5102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3985:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3971:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint208", - "typeString": "uint208" - } - }, - "src": "3962:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203230382062697473", - "id": 5104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3990:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23", - "typeString": "literal_string \"SafeCast: value doesn't fit in 208 bits\"" - }, - "value": "SafeCast: value doesn't fit in 208 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23", - "typeString": "literal_string \"SafeCast: value doesn't fit in 208 bits\"" - } - ], - "id": 5096, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3954:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3954:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5106, - "nodeType": "ExpressionStatement", - "src": "3954:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5109, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "4057:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4049:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint208_$", - "typeString": "type(uint208)" - }, - "typeName": { - "id": 5107, - "name": "uint208", - "nodeType": "ElementaryTypeName", - "src": "4049:7:31", - "typeDescriptions": {} - } - }, - "id": 5110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4049:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint208", - "typeString": "uint208" - } - }, - "functionReturnParameters": 5095, - "id": 5111, - "nodeType": "Return", - "src": "4042:21:31" - } - ] - }, - "documentation": { - "id": 5089, - "nodeType": "StructuredDocumentation", - "src": "3555:318:31", - "text": " @dev Returns the downcasted uint208 from uint256, reverting on\n overflow (when the input is greater than largest uint208).\n Counterpart to Solidity's `uint208` operator.\n Requirements:\n - input must fit into 208 bits\n _Available since v4.7._" - }, - "id": 5113, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint208", - "nameLocation": "3887:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5092, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5091, - "mutability": "mutable", - "name": "value", - "nameLocation": "3905:5:31", - "nodeType": "VariableDeclaration", - "scope": 5113, - "src": "3897:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3897:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3896:15:31" - }, - "returnParameters": { - "id": 5095, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5094, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5113, - "src": "3935:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint208", - "typeString": "uint208" - }, - "typeName": { - "id": 5093, - "name": "uint208", - "nodeType": "ElementaryTypeName", - "src": "3935:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint208", - "typeString": "uint208" - } - }, - "visibility": "internal" - } - ], - "src": "3934:9:31" - }, - "scope": 6501, - "src": "3878:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5137, - "nodeType": "Block", - "src": "4465:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5122, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5116, - "src": "4483:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4497:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint200_$", - "typeString": "type(uint200)" - }, - "typeName": { - "id": 5124, - "name": "uint200", - "nodeType": "ElementaryTypeName", - "src": "4497:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint200_$", - "typeString": "type(uint200)" - } - ], - "id": 5123, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4492:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4492:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint200", - "typeString": "type(uint200)" - } - }, - "id": 5127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4506:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "4492:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint200", - "typeString": "uint200" - } - }, - "src": "4483:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203230302062697473", - "id": 5129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4511:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 200 bits\"" - }, - "value": "SafeCast: value doesn't fit in 200 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 200 bits\"" - } - ], - "id": 5121, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4475:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4475:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5131, - "nodeType": "ExpressionStatement", - "src": "4475:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5134, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5116, - "src": "4578:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4570:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint200_$", - "typeString": "type(uint200)" - }, - "typeName": { - "id": 5132, - "name": "uint200", - "nodeType": "ElementaryTypeName", - "src": "4570:7:31", - "typeDescriptions": {} - } - }, - "id": 5135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4570:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint200", - "typeString": "uint200" - } - }, - "functionReturnParameters": 5120, - "id": 5136, - "nodeType": "Return", - "src": "4563:21:31" - } - ] - }, - "documentation": { - "id": 5114, - "nodeType": "StructuredDocumentation", - "src": "4076:318:31", - "text": " @dev Returns the downcasted uint200 from uint256, reverting on\n overflow (when the input is greater than largest uint200).\n Counterpart to Solidity's `uint200` operator.\n Requirements:\n - input must fit into 200 bits\n _Available since v4.7._" - }, - "id": 5138, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint200", - "nameLocation": "4408:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5116, - "mutability": "mutable", - "name": "value", - "nameLocation": "4426:5:31", - "nodeType": "VariableDeclaration", - "scope": 5138, - "src": "4418:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4418:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4417:15:31" - }, - "returnParameters": { - "id": 5120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5119, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5138, - "src": "4456:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint200", - "typeString": "uint200" - }, - "typeName": { - "id": 5118, - "name": "uint200", - "nodeType": "ElementaryTypeName", - "src": "4456:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint200", - "typeString": "uint200" - } - }, - "visibility": "internal" - } - ], - "src": "4455:9:31" - }, - "scope": 6501, - "src": "4399:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5162, - "nodeType": "Block", - "src": "4986:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5147, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "5004:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5018:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint192_$", - "typeString": "type(uint192)" - }, - "typeName": { - "id": 5149, - "name": "uint192", - "nodeType": "ElementaryTypeName", - "src": "5018:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint192_$", - "typeString": "type(uint192)" - } - ], - "id": 5148, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "5013:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5013:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint192", - "typeString": "type(uint192)" - } - }, - "id": 5152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "5027:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "5013:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint192", - "typeString": "uint192" - } - }, - "src": "5004:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203139322062697473", - "id": 5154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5032:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae", - "typeString": "literal_string \"SafeCast: value doesn't fit in 192 bits\"" - }, - "value": "SafeCast: value doesn't fit in 192 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae", - "typeString": "literal_string \"SafeCast: value doesn't fit in 192 bits\"" - } - ], - "id": 5146, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4996:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4996:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5156, - "nodeType": "ExpressionStatement", - "src": "4996:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5159, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5141, - "src": "5099:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5091:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint192_$", - "typeString": "type(uint192)" - }, - "typeName": { - "id": 5157, - "name": "uint192", - "nodeType": "ElementaryTypeName", - "src": "5091:7:31", - "typeDescriptions": {} - } - }, - "id": 5160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5091:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint192", - "typeString": "uint192" - } - }, - "functionReturnParameters": 5145, - "id": 5161, - "nodeType": "Return", - "src": "5084:21:31" - } - ] - }, - "documentation": { - "id": 5139, - "nodeType": "StructuredDocumentation", - "src": "4597:318:31", - "text": " @dev Returns the downcasted uint192 from uint256, reverting on\n overflow (when the input is greater than largest uint192).\n Counterpart to Solidity's `uint192` operator.\n Requirements:\n - input must fit into 192 bits\n _Available since v4.7._" - }, - "id": 5163, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint192", - "nameLocation": "4929:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5142, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "value", - "nameLocation": "4947:5:31", - "nodeType": "VariableDeclaration", - "scope": 5163, - "src": "4939:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4939:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4938:15:31" - }, - "returnParameters": { - "id": 5145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5144, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5163, - "src": "4977:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint192", - "typeString": "uint192" - }, - "typeName": { - "id": 5143, - "name": "uint192", - "nodeType": "ElementaryTypeName", - "src": "4977:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint192", - "typeString": "uint192" - } - }, - "visibility": "internal" - } - ], - "src": "4976:9:31" - }, - "scope": 6501, - "src": "4920:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5187, - "nodeType": "Block", - "src": "5507:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5172, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5166, - "src": "5525:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5539:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint184_$", - "typeString": "type(uint184)" - }, - "typeName": { - "id": 5174, - "name": "uint184", - "nodeType": "ElementaryTypeName", - "src": "5539:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint184_$", - "typeString": "type(uint184)" - } - ], - "id": 5173, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "5534:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5534:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint184", - "typeString": "type(uint184)" - } - }, - "id": 5177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "5548:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "5534:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint184", - "typeString": "uint184" - } - }, - "src": "5525:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203138342062697473", - "id": 5179, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5553:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75", - "typeString": "literal_string \"SafeCast: value doesn't fit in 184 bits\"" - }, - "value": "SafeCast: value doesn't fit in 184 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75", - "typeString": "literal_string \"SafeCast: value doesn't fit in 184 bits\"" - } - ], - "id": 5171, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5517:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5517:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5181, - "nodeType": "ExpressionStatement", - "src": "5517:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5184, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5166, - "src": "5620:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5612:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint184_$", - "typeString": "type(uint184)" - }, - "typeName": { - "id": 5182, - "name": "uint184", - "nodeType": "ElementaryTypeName", - "src": "5612:7:31", - "typeDescriptions": {} - } - }, - "id": 5185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5612:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint184", - "typeString": "uint184" - } - }, - "functionReturnParameters": 5170, - "id": 5186, - "nodeType": "Return", - "src": "5605:21:31" - } - ] - }, - "documentation": { - "id": 5164, - "nodeType": "StructuredDocumentation", - "src": "5118:318:31", - "text": " @dev Returns the downcasted uint184 from uint256, reverting on\n overflow (when the input is greater than largest uint184).\n Counterpart to Solidity's `uint184` operator.\n Requirements:\n - input must fit into 184 bits\n _Available since v4.7._" - }, - "id": 5188, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint184", - "nameLocation": "5450:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5167, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5166, - "mutability": "mutable", - "name": "value", - "nameLocation": "5468:5:31", - "nodeType": "VariableDeclaration", - "scope": 5188, - "src": "5460:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5460:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5459:15:31" - }, - "returnParameters": { - "id": 5170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5169, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5188, - "src": "5498:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint184", - "typeString": "uint184" - }, - "typeName": { - "id": 5168, - "name": "uint184", - "nodeType": "ElementaryTypeName", - "src": "5498:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint184", - "typeString": "uint184" - } - }, - "visibility": "internal" - } - ], - "src": "5497:9:31" - }, - "scope": 6501, - "src": "5441:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5212, - "nodeType": "Block", - "src": "6028:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5197, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5191, - "src": "6046:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6060:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint176_$", - "typeString": "type(uint176)" - }, - "typeName": { - "id": 5199, - "name": "uint176", - "nodeType": "ElementaryTypeName", - "src": "6060:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint176_$", - "typeString": "type(uint176)" - } - ], - "id": 5198, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "6055:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6055:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint176", - "typeString": "type(uint176)" - } - }, - "id": 5202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6069:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "6055:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint176", - "typeString": "uint176" - } - }, - "src": "6046:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203137362062697473", - "id": 5204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6074:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30", - "typeString": "literal_string \"SafeCast: value doesn't fit in 176 bits\"" - }, - "value": "SafeCast: value doesn't fit in 176 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30", - "typeString": "literal_string \"SafeCast: value doesn't fit in 176 bits\"" - } - ], - "id": 5196, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6038:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6038:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5206, - "nodeType": "ExpressionStatement", - "src": "6038:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5209, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5191, - "src": "6141:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6133:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint176_$", - "typeString": "type(uint176)" - }, - "typeName": { - "id": 5207, - "name": "uint176", - "nodeType": "ElementaryTypeName", - "src": "6133:7:31", - "typeDescriptions": {} - } - }, - "id": 5210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6133:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint176", - "typeString": "uint176" - } - }, - "functionReturnParameters": 5195, - "id": 5211, - "nodeType": "Return", - "src": "6126:21:31" - } - ] - }, - "documentation": { - "id": 5189, - "nodeType": "StructuredDocumentation", - "src": "5639:318:31", - "text": " @dev Returns the downcasted uint176 from uint256, reverting on\n overflow (when the input is greater than largest uint176).\n Counterpart to Solidity's `uint176` operator.\n Requirements:\n - input must fit into 176 bits\n _Available since v4.7._" - }, - "id": 5213, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint176", - "nameLocation": "5971:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5191, - "mutability": "mutable", - "name": "value", - "nameLocation": "5989:5:31", - "nodeType": "VariableDeclaration", - "scope": 5213, - "src": "5981:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5981:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5980:15:31" - }, - "returnParameters": { - "id": 5195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5213, - "src": "6019:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint176", - "typeString": "uint176" - }, - "typeName": { - "id": 5193, - "name": "uint176", - "nodeType": "ElementaryTypeName", - "src": "6019:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint176", - "typeString": "uint176" - } - }, - "visibility": "internal" - } - ], - "src": "6018:9:31" - }, - "scope": 6501, - "src": "5962:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5237, - "nodeType": "Block", - "src": "6549:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5222, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5216, - "src": "6567:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6581:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint168_$", - "typeString": "type(uint168)" - }, - "typeName": { - "id": 5224, - "name": "uint168", - "nodeType": "ElementaryTypeName", - "src": "6581:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint168_$", - "typeString": "type(uint168)" - } - ], - "id": 5223, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "6576:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6576:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint168", - "typeString": "type(uint168)" - } - }, - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6590:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "6576:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint168", - "typeString": "uint168" - } - }, - "src": "6567:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203136382062697473", - "id": 5229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6595:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 168 bits\"" - }, - "value": "SafeCast: value doesn't fit in 168 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 168 bits\"" - } - ], - "id": 5221, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6559:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6559:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5231, - "nodeType": "ExpressionStatement", - "src": "6559:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5234, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5216, - "src": "6662:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6654:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint168_$", - "typeString": "type(uint168)" - }, - "typeName": { - "id": 5232, - "name": "uint168", - "nodeType": "ElementaryTypeName", - "src": "6654:7:31", - "typeDescriptions": {} - } - }, - "id": 5235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6654:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint168", - "typeString": "uint168" - } - }, - "functionReturnParameters": 5220, - "id": 5236, - "nodeType": "Return", - "src": "6647:21:31" - } - ] - }, - "documentation": { - "id": 5214, - "nodeType": "StructuredDocumentation", - "src": "6160:318:31", - "text": " @dev Returns the downcasted uint168 from uint256, reverting on\n overflow (when the input is greater than largest uint168).\n Counterpart to Solidity's `uint168` operator.\n Requirements:\n - input must fit into 168 bits\n _Available since v4.7._" - }, - "id": 5238, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint168", - "nameLocation": "6492:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5216, - "mutability": "mutable", - "name": "value", - "nameLocation": "6510:5:31", - "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "6502:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6502:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6501:15:31" - }, - "returnParameters": { - "id": 5220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5219, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "6540:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint168", - "typeString": "uint168" - }, - "typeName": { - "id": 5218, - "name": "uint168", - "nodeType": "ElementaryTypeName", - "src": "6540:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint168", - "typeString": "uint168" - } - }, - "visibility": "internal" - } - ], - "src": "6539:9:31" - }, - "scope": 6501, - "src": "6483:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5262, - "nodeType": "Block", - "src": "7070:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5247, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5241, - "src": "7088:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7102:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 5249, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7102:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - } - ], - "id": 5248, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "7097:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7097:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint160", - "typeString": "type(uint160)" - } - }, - "id": 5252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7111:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "7097:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - }, - "src": "7088:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203136302062697473", - "id": 5254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7116:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 160 bits\"" - }, - "value": "SafeCast: value doesn't fit in 160 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 160 bits\"" - } - ], - "id": 5246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7080:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7080:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5256, - "nodeType": "ExpressionStatement", - "src": "7080:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5259, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5241, - "src": "7183:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7175:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 5257, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7175:7:31", - "typeDescriptions": {} - } - }, - "id": 5260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7175:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - }, - "functionReturnParameters": 5245, - "id": 5261, - "nodeType": "Return", - "src": "7168:21:31" - } - ] - }, - "documentation": { - "id": 5239, - "nodeType": "StructuredDocumentation", - "src": "6681:318:31", - "text": " @dev Returns the downcasted uint160 from uint256, reverting on\n overflow (when the input is greater than largest uint160).\n Counterpart to Solidity's `uint160` operator.\n Requirements:\n - input must fit into 160 bits\n _Available since v4.7._" - }, - "id": 5263, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint160", - "nameLocation": "7013:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5241, - "mutability": "mutable", - "name": "value", - "nameLocation": "7031:5:31", - "nodeType": "VariableDeclaration", - "scope": 5263, - "src": "7023:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7023:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7022:15:31" - }, - "returnParameters": { - "id": 5245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5244, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5263, - "src": "7061:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - }, - "typeName": { - "id": 5243, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7061:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - }, - "visibility": "internal" - } - ], - "src": "7060:9:31" - }, - "scope": 6501, - "src": "7004:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5287, - "nodeType": "Block", - "src": "7591:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5272, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7609:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7623:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint152_$", - "typeString": "type(uint152)" - }, - "typeName": { - "id": 5274, - "name": "uint152", - "nodeType": "ElementaryTypeName", - "src": "7623:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint152_$", - "typeString": "type(uint152)" - } - ], - "id": 5273, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "7618:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7618:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint152", - "typeString": "type(uint152)" - } - }, - "id": 5277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7632:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "7618:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint152", - "typeString": "uint152" - } - }, - "src": "7609:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203135322062697473", - "id": 5279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7637:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831", - "typeString": "literal_string \"SafeCast: value doesn't fit in 152 bits\"" - }, - "value": "SafeCast: value doesn't fit in 152 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831", - "typeString": "literal_string \"SafeCast: value doesn't fit in 152 bits\"" - } - ], - "id": 5271, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7601:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7601:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5281, - "nodeType": "ExpressionStatement", - "src": "7601:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5284, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "7704:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7696:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint152_$", - "typeString": "type(uint152)" - }, - "typeName": { - "id": 5282, - "name": "uint152", - "nodeType": "ElementaryTypeName", - "src": "7696:7:31", - "typeDescriptions": {} - } - }, - "id": 5285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7696:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint152", - "typeString": "uint152" - } - }, - "functionReturnParameters": 5270, - "id": 5286, - "nodeType": "Return", - "src": "7689:21:31" - } - ] - }, - "documentation": { - "id": 5264, - "nodeType": "StructuredDocumentation", - "src": "7202:318:31", - "text": " @dev Returns the downcasted uint152 from uint256, reverting on\n overflow (when the input is greater than largest uint152).\n Counterpart to Solidity's `uint152` operator.\n Requirements:\n - input must fit into 152 bits\n _Available since v4.7._" - }, - "id": 5288, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint152", - "nameLocation": "7534:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "value", - "nameLocation": "7552:5:31", - "nodeType": "VariableDeclaration", - "scope": 5288, - "src": "7544:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7544:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7543:15:31" - }, - "returnParameters": { - "id": 5270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5269, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5288, - "src": "7582:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint152", - "typeString": "uint152" - }, - "typeName": { - "id": 5268, - "name": "uint152", - "nodeType": "ElementaryTypeName", - "src": "7582:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint152", - "typeString": "uint152" - } - }, - "visibility": "internal" - } - ], - "src": "7581:9:31" - }, - "scope": 6501, - "src": "7525:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5312, - "nodeType": "Block", - "src": "8112:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5297, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5291, - "src": "8130:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8144:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint144_$", - "typeString": "type(uint144)" - }, - "typeName": { - "id": 5299, - "name": "uint144", - "nodeType": "ElementaryTypeName", - "src": "8144:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint144_$", - "typeString": "type(uint144)" - } - ], - "id": 5298, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "8139:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8139:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint144", - "typeString": "type(uint144)" - } - }, - "id": 5302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "8153:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "8139:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint144", - "typeString": "uint144" - } - }, - "src": "8130:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203134342062697473", - "id": 5304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8158:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab", - "typeString": "literal_string \"SafeCast: value doesn't fit in 144 bits\"" - }, - "value": "SafeCast: value doesn't fit in 144 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab", - "typeString": "literal_string \"SafeCast: value doesn't fit in 144 bits\"" - } - ], - "id": 5296, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8122:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8122:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5306, - "nodeType": "ExpressionStatement", - "src": "8122:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5309, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5291, - "src": "8225:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8217:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint144_$", - "typeString": "type(uint144)" - }, - "typeName": { - "id": 5307, - "name": "uint144", - "nodeType": "ElementaryTypeName", - "src": "8217:7:31", - "typeDescriptions": {} - } - }, - "id": 5310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8217:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint144", - "typeString": "uint144" - } - }, - "functionReturnParameters": 5295, - "id": 5311, - "nodeType": "Return", - "src": "8210:21:31" - } - ] - }, - "documentation": { - "id": 5289, - "nodeType": "StructuredDocumentation", - "src": "7723:318:31", - "text": " @dev Returns the downcasted uint144 from uint256, reverting on\n overflow (when the input is greater than largest uint144).\n Counterpart to Solidity's `uint144` operator.\n Requirements:\n - input must fit into 144 bits\n _Available since v4.7._" - }, - "id": 5313, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint144", - "nameLocation": "8055:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5291, - "mutability": "mutable", - "name": "value", - "nameLocation": "8073:5:31", - "nodeType": "VariableDeclaration", - "scope": 5313, - "src": "8065:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8065:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8064:15:31" - }, - "returnParameters": { - "id": 5295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5294, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5313, - "src": "8103:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint144", - "typeString": "uint144" - }, - "typeName": { - "id": 5293, - "name": "uint144", - "nodeType": "ElementaryTypeName", - "src": "8103:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint144", - "typeString": "uint144" - } - }, - "visibility": "internal" - } - ], - "src": "8102:9:31" - }, - "scope": 6501, - "src": "8046:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5337, - "nodeType": "Block", - "src": "8633:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5322, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5316, - "src": "8651:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8665:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint136_$", - "typeString": "type(uint136)" - }, - "typeName": { - "id": 5324, - "name": "uint136", - "nodeType": "ElementaryTypeName", - "src": "8665:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint136_$", - "typeString": "type(uint136)" - } - ], - "id": 5323, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "8660:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8660:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint136", - "typeString": "type(uint136)" - } - }, - "id": 5327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "8674:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "8660:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint136", - "typeString": "uint136" - } - }, - "src": "8651:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203133362062697473", - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8679:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a", - "typeString": "literal_string \"SafeCast: value doesn't fit in 136 bits\"" - }, - "value": "SafeCast: value doesn't fit in 136 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a", - "typeString": "literal_string \"SafeCast: value doesn't fit in 136 bits\"" - } - ], - "id": 5321, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8643:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8643:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5331, - "nodeType": "ExpressionStatement", - "src": "8643:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5334, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5316, - "src": "8746:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8738:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint136_$", - "typeString": "type(uint136)" - }, - "typeName": { - "id": 5332, - "name": "uint136", - "nodeType": "ElementaryTypeName", - "src": "8738:7:31", - "typeDescriptions": {} - } - }, - "id": 5335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8738:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint136", - "typeString": "uint136" - } - }, - "functionReturnParameters": 5320, - "id": 5336, - "nodeType": "Return", - "src": "8731:21:31" - } - ] - }, - "documentation": { - "id": 5314, - "nodeType": "StructuredDocumentation", - "src": "8244:318:31", - "text": " @dev Returns the downcasted uint136 from uint256, reverting on\n overflow (when the input is greater than largest uint136).\n Counterpart to Solidity's `uint136` operator.\n Requirements:\n - input must fit into 136 bits\n _Available since v4.7._" - }, - "id": 5338, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint136", - "nameLocation": "8576:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5316, - "mutability": "mutable", - "name": "value", - "nameLocation": "8594:5:31", - "nodeType": "VariableDeclaration", - "scope": 5338, - "src": "8586:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5315, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8586:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8585:15:31" - }, - "returnParameters": { - "id": 5320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5319, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5338, - "src": "8624:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint136", - "typeString": "uint136" - }, - "typeName": { - "id": 5318, - "name": "uint136", - "nodeType": "ElementaryTypeName", - "src": "8624:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint136", - "typeString": "uint136" - } - }, - "visibility": "internal" - } - ], - "src": "8623:9:31" - }, - "scope": 6501, - "src": "8567:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5362, - "nodeType": "Block", - "src": "9154:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5347, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5341, - "src": "9172:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9186:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "id": 5349, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "9186:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - } - ], - "id": 5348, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "9181:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9181:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint128", - "typeString": "type(uint128)" - } - }, - "id": 5352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9195:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "9181:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "src": "9172:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473", - "id": 5354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9200:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 128 bits\"" - }, - "value": "SafeCast: value doesn't fit in 128 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 128 bits\"" - } - ], - "id": 5346, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9164:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9164:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5356, - "nodeType": "ExpressionStatement", - "src": "9164:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5359, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5341, - "src": "9267:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9259:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "id": 5357, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "9259:7:31", - "typeDescriptions": {} - } - }, - "id": 5360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9259:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 5345, - "id": 5361, - "nodeType": "Return", - "src": "9252:21:31" - } - ] - }, - "documentation": { - "id": 5339, - "nodeType": "StructuredDocumentation", - "src": "8765:318:31", - "text": " @dev Returns the downcasted uint128 from uint256, reverting on\n overflow (when the input is greater than largest uint128).\n Counterpart to Solidity's `uint128` operator.\n Requirements:\n - input must fit into 128 bits\n _Available since v2.5._" - }, - "id": 5363, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint128", - "nameLocation": "9097:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5342, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5341, - "mutability": "mutable", - "name": "value", - "nameLocation": "9115:5:31", - "nodeType": "VariableDeclaration", - "scope": 5363, - "src": "9107:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9107:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9106:15:31" - }, - "returnParameters": { - "id": 5345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5344, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5363, - "src": "9145:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - }, - "typeName": { - "id": 5343, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "9145:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "visibility": "internal" - } - ], - "src": "9144:9:31" - }, - "scope": 6501, - "src": "9088:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5387, - "nodeType": "Block", - "src": "9675:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5372, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5366, - "src": "9693:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9707:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint120_$", - "typeString": "type(uint120)" - }, - "typeName": { - "id": 5374, - "name": "uint120", - "nodeType": "ElementaryTypeName", - "src": "9707:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint120_$", - "typeString": "type(uint120)" - } - ], - "id": 5373, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "9702:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9702:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint120", - "typeString": "type(uint120)" - } - }, - "id": 5377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9716:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "9702:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint120", - "typeString": "uint120" - } - }, - "src": "9693:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203132302062697473", - "id": 5379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9721:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09", - "typeString": "literal_string \"SafeCast: value doesn't fit in 120 bits\"" - }, - "value": "SafeCast: value doesn't fit in 120 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09", - "typeString": "literal_string \"SafeCast: value doesn't fit in 120 bits\"" - } - ], - "id": 5371, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9685:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9685:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5381, - "nodeType": "ExpressionStatement", - "src": "9685:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5384, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5366, - "src": "9788:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9780:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint120_$", - "typeString": "type(uint120)" - }, - "typeName": { - "id": 5382, - "name": "uint120", - "nodeType": "ElementaryTypeName", - "src": "9780:7:31", - "typeDescriptions": {} - } - }, - "id": 5385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9780:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint120", - "typeString": "uint120" - } - }, - "functionReturnParameters": 5370, - "id": 5386, - "nodeType": "Return", - "src": "9773:21:31" - } - ] - }, - "documentation": { - "id": 5364, - "nodeType": "StructuredDocumentation", - "src": "9286:318:31", - "text": " @dev Returns the downcasted uint120 from uint256, reverting on\n overflow (when the input is greater than largest uint120).\n Counterpart to Solidity's `uint120` operator.\n Requirements:\n - input must fit into 120 bits\n _Available since v4.7._" - }, - "id": 5388, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint120", - "nameLocation": "9618:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5366, - "mutability": "mutable", - "name": "value", - "nameLocation": "9636:5:31", - "nodeType": "VariableDeclaration", - "scope": 5388, - "src": "9628:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9628:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9627:15:31" - }, - "returnParameters": { - "id": 5370, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5369, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5388, - "src": "9666:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint120", - "typeString": "uint120" - }, - "typeName": { - "id": 5368, - "name": "uint120", - "nodeType": "ElementaryTypeName", - "src": "9666:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint120", - "typeString": "uint120" - } - }, - "visibility": "internal" - } - ], - "src": "9665:9:31" - }, - "scope": 6501, - "src": "9609:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5412, - "nodeType": "Block", - "src": "10196:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5391, - "src": "10214:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10228:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5399, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "10228:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - } - ], - "id": 5398, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "10223:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10223:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint112", - "typeString": "type(uint112)" - } - }, - "id": 5402, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10237:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "10223:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "src": "10214:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203131322062697473", - "id": 5404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10242:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd", - "typeString": "literal_string \"SafeCast: value doesn't fit in 112 bits\"" - }, - "value": "SafeCast: value doesn't fit in 112 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd", - "typeString": "literal_string \"SafeCast: value doesn't fit in 112 bits\"" - } - ], - "id": 5396, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10206:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10206:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5406, - "nodeType": "ExpressionStatement", - "src": "10206:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5409, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5391, - "src": "10309:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10301:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint112_$", - "typeString": "type(uint112)" - }, - "typeName": { - "id": 5407, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "10301:7:31", - "typeDescriptions": {} - } - }, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10301:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "functionReturnParameters": 5395, - "id": 5411, - "nodeType": "Return", - "src": "10294:21:31" - } - ] - }, - "documentation": { - "id": 5389, - "nodeType": "StructuredDocumentation", - "src": "9807:318:31", - "text": " @dev Returns the downcasted uint112 from uint256, reverting on\n overflow (when the input is greater than largest uint112).\n Counterpart to Solidity's `uint112` operator.\n Requirements:\n - input must fit into 112 bits\n _Available since v4.7._" - }, - "id": 5413, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint112", - "nameLocation": "10139:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5392, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5391, - "mutability": "mutable", - "name": "value", - "nameLocation": "10157:5:31", - "nodeType": "VariableDeclaration", - "scope": 5413, - "src": "10149:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5390, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10149:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10148:15:31" - }, - "returnParameters": { - "id": 5395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5394, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5413, - "src": "10187:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - }, - "typeName": { - "id": 5393, - "name": "uint112", - "nodeType": "ElementaryTypeName", - "src": "10187:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint112", - "typeString": "uint112" - } - }, - "visibility": "internal" - } - ], - "src": "10186:9:31" - }, - "scope": 6501, - "src": "10130:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5437, - "nodeType": "Block", - "src": "10717:126:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5422, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5416, - "src": "10735:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10749:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint104_$", - "typeString": "type(uint104)" - }, - "typeName": { - "id": 5424, - "name": "uint104", - "nodeType": "ElementaryTypeName", - "src": "10749:7:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint104_$", - "typeString": "type(uint104)" - } - ], - "id": 5423, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "10744:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10744:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint104", - "typeString": "type(uint104)" - } - }, - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10758:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "10744:17:31", - "typeDescriptions": { - "typeIdentifier": "t_uint104", - "typeString": "uint104" - } - }, - "src": "10735:26:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203130342062697473", - "id": 5429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10763:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981", - "typeString": "literal_string \"SafeCast: value doesn't fit in 104 bits\"" - }, - "value": "SafeCast: value doesn't fit in 104 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981", - "typeString": "literal_string \"SafeCast: value doesn't fit in 104 bits\"" - } - ], - "id": 5421, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10727:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10727:78:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5431, - "nodeType": "ExpressionStatement", - "src": "10727:78:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5434, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5416, - "src": "10830:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10822:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint104_$", - "typeString": "type(uint104)" - }, - "typeName": { - "id": 5432, - "name": "uint104", - "nodeType": "ElementaryTypeName", - "src": "10822:7:31", - "typeDescriptions": {} - } - }, - "id": 5435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10822:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint104", - "typeString": "uint104" - } - }, - "functionReturnParameters": 5420, - "id": 5436, - "nodeType": "Return", - "src": "10815:21:31" - } - ] - }, - "documentation": { - "id": 5414, - "nodeType": "StructuredDocumentation", - "src": "10328:318:31", - "text": " @dev Returns the downcasted uint104 from uint256, reverting on\n overflow (when the input is greater than largest uint104).\n Counterpart to Solidity's `uint104` operator.\n Requirements:\n - input must fit into 104 bits\n _Available since v4.7._" - }, - "id": 5438, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint104", - "nameLocation": "10660:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5416, - "mutability": "mutable", - "name": "value", - "nameLocation": "10678:5:31", - "nodeType": "VariableDeclaration", - "scope": 5438, - "src": "10670:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10670:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10669:15:31" - }, - "returnParameters": { - "id": 5420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5419, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5438, - "src": "10708:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint104", - "typeString": "uint104" - }, - "typeName": { - "id": 5418, - "name": "uint104", - "nodeType": "ElementaryTypeName", - "src": "10708:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint104", - "typeString": "uint104" - } - }, - "visibility": "internal" - } - ], - "src": "10707:9:31" - }, - "scope": 6501, - "src": "10651:192:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5462, - "nodeType": "Block", - "src": "11232:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5447, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5441, - "src": "11250:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11264:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint96_$", - "typeString": "type(uint96)" - }, - "typeName": { - "id": 5449, - "name": "uint96", - "nodeType": "ElementaryTypeName", - "src": "11264:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint96_$", - "typeString": "type(uint96)" - } - ], - "id": 5448, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "11259:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11259:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint96", - "typeString": "type(uint96)" - } - }, - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11272:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "11259:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint96", - "typeString": "uint96" - } - }, - "src": "11250:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2039362062697473", - "id": 5454, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11277:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 96 bits\"" - }, - "value": "SafeCast: value doesn't fit in 96 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 96 bits\"" - } - ], - "id": 5446, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11242:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11242:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5456, - "nodeType": "ExpressionStatement", - "src": "11242:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5459, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5441, - "src": "11342:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11335:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint96_$", - "typeString": "type(uint96)" - }, - "typeName": { - "id": 5457, - "name": "uint96", - "nodeType": "ElementaryTypeName", - "src": "11335:6:31", - "typeDescriptions": {} - } - }, - "id": 5460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11335:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint96", - "typeString": "uint96" - } - }, - "functionReturnParameters": 5445, - "id": 5461, - "nodeType": "Return", - "src": "11328:20:31" - } - ] - }, - "documentation": { - "id": 5439, - "nodeType": "StructuredDocumentation", - "src": "10849:314:31", - "text": " @dev Returns the downcasted uint96 from uint256, reverting on\n overflow (when the input is greater than largest uint96).\n Counterpart to Solidity's `uint96` operator.\n Requirements:\n - input must fit into 96 bits\n _Available since v4.2._" - }, - "id": 5463, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint96", - "nameLocation": "11177:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5441, - "mutability": "mutable", - "name": "value", - "nameLocation": "11194:5:31", - "nodeType": "VariableDeclaration", - "scope": 5463, - "src": "11186:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5440, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11186:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11185:15:31" - }, - "returnParameters": { - "id": 5445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5444, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5463, - "src": "11224:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint96", - "typeString": "uint96" - }, - "typeName": { - "id": 5443, - "name": "uint96", - "nodeType": "ElementaryTypeName", - "src": "11224:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint96", - "typeString": "uint96" - } - }, - "visibility": "internal" - } - ], - "src": "11223:8:31" - }, - "scope": 6501, - "src": "11168:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5487, - "nodeType": "Block", - "src": "11744:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5472, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5466, - "src": "11762:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11776:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint88_$", - "typeString": "type(uint88)" - }, - "typeName": { - "id": 5474, - "name": "uint88", - "nodeType": "ElementaryTypeName", - "src": "11776:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint88_$", - "typeString": "type(uint88)" - } - ], - "id": 5473, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "11771:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11771:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint88", - "typeString": "type(uint88)" - } - }, - "id": 5477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11784:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "11771:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint88", - "typeString": "uint88" - } - }, - "src": "11762:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2038382062697473", - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11789:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 88 bits\"" - }, - "value": "SafeCast: value doesn't fit in 88 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 88 bits\"" - } - ], - "id": 5471, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11754:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11754:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5481, - "nodeType": "ExpressionStatement", - "src": "11754:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5484, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5466, - "src": "11854:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11847:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint88_$", - "typeString": "type(uint88)" - }, - "typeName": { - "id": 5482, - "name": "uint88", - "nodeType": "ElementaryTypeName", - "src": "11847:6:31", - "typeDescriptions": {} - } - }, - "id": 5485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11847:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint88", - "typeString": "uint88" - } - }, - "functionReturnParameters": 5470, - "id": 5486, - "nodeType": "Return", - "src": "11840:20:31" - } - ] - }, - "documentation": { - "id": 5464, - "nodeType": "StructuredDocumentation", - "src": "11361:314:31", - "text": " @dev Returns the downcasted uint88 from uint256, reverting on\n overflow (when the input is greater than largest uint88).\n Counterpart to Solidity's `uint88` operator.\n Requirements:\n - input must fit into 88 bits\n _Available since v4.7._" - }, - "id": 5488, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint88", - "nameLocation": "11689:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5466, - "mutability": "mutable", - "name": "value", - "nameLocation": "11706:5:31", - "nodeType": "VariableDeclaration", - "scope": 5488, - "src": "11698:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11698:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11697:15:31" - }, - "returnParameters": { - "id": 5470, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5469, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5488, - "src": "11736:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint88", - "typeString": "uint88" - }, - "typeName": { - "id": 5468, - "name": "uint88", - "nodeType": "ElementaryTypeName", - "src": "11736:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint88", - "typeString": "uint88" - } - }, - "visibility": "internal" - } - ], - "src": "11735:8:31" - }, - "scope": 6501, - "src": "11680:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5512, - "nodeType": "Block", - "src": "12256:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5497, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "12274:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12288:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint80_$", - "typeString": "type(uint80)" - }, - "typeName": { - "id": 5499, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "12288:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint80_$", - "typeString": "type(uint80)" - } - ], - "id": 5498, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "12283:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12283:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint80", - "typeString": "type(uint80)" - } - }, - "id": 5502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12296:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "12283:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "src": "12274:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2038302062697473", - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12301:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 80 bits\"" - }, - "value": "SafeCast: value doesn't fit in 80 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 80 bits\"" - } - ], - "id": 5496, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12266:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12266:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5506, - "nodeType": "ExpressionStatement", - "src": "12266:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5509, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "12366:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12359:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint80_$", - "typeString": "type(uint80)" - }, - "typeName": { - "id": 5507, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "12359:6:31", - "typeDescriptions": {} - } - }, - "id": 5510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12359:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "functionReturnParameters": 5495, - "id": 5511, - "nodeType": "Return", - "src": "12352:20:31" - } - ] - }, - "documentation": { - "id": 5489, - "nodeType": "StructuredDocumentation", - "src": "11873:314:31", - "text": " @dev Returns the downcasted uint80 from uint256, reverting on\n overflow (when the input is greater than largest uint80).\n Counterpart to Solidity's `uint80` operator.\n Requirements:\n - input must fit into 80 bits\n _Available since v4.7._" - }, - "id": 5513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint80", - "nameLocation": "12201:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5492, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5491, - "mutability": "mutable", - "name": "value", - "nameLocation": "12218:5:31", - "nodeType": "VariableDeclaration", - "scope": 5513, - "src": "12210:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12210:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12209:15:31" - }, - "returnParameters": { - "id": 5495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5494, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5513, - "src": "12248:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 5493, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "12248:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "visibility": "internal" - } - ], - "src": "12247:8:31" - }, - "scope": 6501, - "src": "12192:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5537, - "nodeType": "Block", - "src": "12768:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5522, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5516, - "src": "12786:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12800:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint72_$", - "typeString": "type(uint72)" - }, - "typeName": { - "id": 5524, - "name": "uint72", - "nodeType": "ElementaryTypeName", - "src": "12800:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint72_$", - "typeString": "type(uint72)" - } - ], - "id": 5523, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "12795:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12795:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint72", - "typeString": "type(uint72)" - } - }, - "id": 5527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12808:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "12795:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint72", - "typeString": "uint72" - } - }, - "src": "12786:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2037322062697473", - "id": 5529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12813:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606", - "typeString": "literal_string \"SafeCast: value doesn't fit in 72 bits\"" - }, - "value": "SafeCast: value doesn't fit in 72 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606", - "typeString": "literal_string \"SafeCast: value doesn't fit in 72 bits\"" - } - ], - "id": 5521, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12778:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12778:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5531, - "nodeType": "ExpressionStatement", - "src": "12778:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5534, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5516, - "src": "12878:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12871:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint72_$", - "typeString": "type(uint72)" - }, - "typeName": { - "id": 5532, - "name": "uint72", - "nodeType": "ElementaryTypeName", - "src": "12871:6:31", - "typeDescriptions": {} - } - }, - "id": 5535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12871:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint72", - "typeString": "uint72" - } - }, - "functionReturnParameters": 5520, - "id": 5536, - "nodeType": "Return", - "src": "12864:20:31" - } - ] - }, - "documentation": { - "id": 5514, - "nodeType": "StructuredDocumentation", - "src": "12385:314:31", - "text": " @dev Returns the downcasted uint72 from uint256, reverting on\n overflow (when the input is greater than largest uint72).\n Counterpart to Solidity's `uint72` operator.\n Requirements:\n - input must fit into 72 bits\n _Available since v4.7._" - }, - "id": 5538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint72", - "nameLocation": "12713:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5516, - "mutability": "mutable", - "name": "value", - "nameLocation": "12730:5:31", - "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "12722:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12722:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12721:15:31" - }, - "returnParameters": { - "id": 5520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5519, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5538, - "src": "12760:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint72", - "typeString": "uint72" - }, - "typeName": { - "id": 5518, - "name": "uint72", - "nodeType": "ElementaryTypeName", - "src": "12760:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint72", - "typeString": "uint72" - } - }, - "visibility": "internal" - } - ], - "src": "12759:8:31" - }, - "scope": 6501, - "src": "12704:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5562, - "nodeType": "Block", - "src": "13280:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5547, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5541, - "src": "13298:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13312:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": { - "id": 5549, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13312:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - } - ], - "id": 5548, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "13307:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13307:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint64", - "typeString": "type(uint64)" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13320:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "13307:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "13298:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473", - "id": 5554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13325:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939", - "typeString": "literal_string \"SafeCast: value doesn't fit in 64 bits\"" - }, - "value": "SafeCast: value doesn't fit in 64 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939", - "typeString": "literal_string \"SafeCast: value doesn't fit in 64 bits\"" - } - ], - "id": 5546, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13290:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13290:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5556, - "nodeType": "ExpressionStatement", - "src": "13290:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5559, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5541, - "src": "13390:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13383:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": { - "id": 5557, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13383:6:31", - "typeDescriptions": {} - } - }, - "id": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13383:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "functionReturnParameters": 5545, - "id": 5561, - "nodeType": "Return", - "src": "13376:20:31" - } - ] - }, - "documentation": { - "id": 5539, - "nodeType": "StructuredDocumentation", - "src": "12897:314:31", - "text": " @dev Returns the downcasted uint64 from uint256, reverting on\n overflow (when the input is greater than largest uint64).\n Counterpart to Solidity's `uint64` operator.\n Requirements:\n - input must fit into 64 bits\n _Available since v2.5._" - }, - "id": 5563, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint64", - "nameLocation": "13225:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5542, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5541, - "mutability": "mutable", - "name": "value", - "nameLocation": "13242:5:31", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "13234:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13234:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13233:15:31" - }, - "returnParameters": { - "id": 5545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5544, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5563, - "src": "13272:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - "typeName": { - "id": 5543, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "13272:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "visibility": "internal" - } - ], - "src": "13271:8:31" - }, - "scope": 6501, - "src": "13216:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5587, - "nodeType": "Block", - "src": "13792:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5572, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5566, - "src": "13810:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13824:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint56_$", - "typeString": "type(uint56)" - }, - "typeName": { - "id": 5574, - "name": "uint56", - "nodeType": "ElementaryTypeName", - "src": "13824:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint56_$", - "typeString": "type(uint56)" - } - ], - "id": 5573, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "13819:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13819:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint56", - "typeString": "type(uint56)" - } - }, - "id": 5577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13832:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "13819:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint56", - "typeString": "uint56" - } - }, - "src": "13810:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2035362062697473", - "id": 5579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13837:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5", - "typeString": "literal_string \"SafeCast: value doesn't fit in 56 bits\"" - }, - "value": "SafeCast: value doesn't fit in 56 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5", - "typeString": "literal_string \"SafeCast: value doesn't fit in 56 bits\"" - } - ], - "id": 5571, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13802:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13802:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5581, - "nodeType": "ExpressionStatement", - "src": "13802:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5584, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5566, - "src": "13902:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13895:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint56_$", - "typeString": "type(uint56)" - }, - "typeName": { - "id": 5582, - "name": "uint56", - "nodeType": "ElementaryTypeName", - "src": "13895:6:31", - "typeDescriptions": {} - } - }, - "id": 5585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13895:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint56", - "typeString": "uint56" - } - }, - "functionReturnParameters": 5570, - "id": 5586, - "nodeType": "Return", - "src": "13888:20:31" - } - ] - }, - "documentation": { - "id": 5564, - "nodeType": "StructuredDocumentation", - "src": "13409:314:31", - "text": " @dev Returns the downcasted uint56 from uint256, reverting on\n overflow (when the input is greater than largest uint56).\n Counterpart to Solidity's `uint56` operator.\n Requirements:\n - input must fit into 56 bits\n _Available since v4.7._" - }, - "id": 5588, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint56", - "nameLocation": "13737:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5566, - "mutability": "mutable", - "name": "value", - "nameLocation": "13754:5:31", - "nodeType": "VariableDeclaration", - "scope": 5588, - "src": "13746:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13746:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13745:15:31" - }, - "returnParameters": { - "id": 5570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5569, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5588, - "src": "13784:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint56", - "typeString": "uint56" - }, - "typeName": { - "id": 5568, - "name": "uint56", - "nodeType": "ElementaryTypeName", - "src": "13784:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint56", - "typeString": "uint56" - } - }, - "visibility": "internal" - } - ], - "src": "13783:8:31" - }, - "scope": 6501, - "src": "13728:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5612, - "nodeType": "Block", - "src": "14304:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5597, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5591, - "src": "14322:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14336:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint48_$", - "typeString": "type(uint48)" - }, - "typeName": { - "id": 5599, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "14336:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint48_$", - "typeString": "type(uint48)" - } - ], - "id": 5598, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "14331:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14331:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint48", - "typeString": "type(uint48)" - } - }, - "id": 5602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14344:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "14331:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - }, - "src": "14322:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2034382062697473", - "id": 5604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14349:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495", - "typeString": "literal_string \"SafeCast: value doesn't fit in 48 bits\"" - }, - "value": "SafeCast: value doesn't fit in 48 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495", - "typeString": "literal_string \"SafeCast: value doesn't fit in 48 bits\"" - } - ], - "id": 5596, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14314:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14314:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5606, - "nodeType": "ExpressionStatement", - "src": "14314:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5609, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5591, - "src": "14414:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14407:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint48_$", - "typeString": "type(uint48)" - }, - "typeName": { - "id": 5607, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "14407:6:31", - "typeDescriptions": {} - } - }, - "id": 5610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14407:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - }, - "functionReturnParameters": 5595, - "id": 5611, - "nodeType": "Return", - "src": "14400:20:31" - } - ] - }, - "documentation": { - "id": 5589, - "nodeType": "StructuredDocumentation", - "src": "13921:314:31", - "text": " @dev Returns the downcasted uint48 from uint256, reverting on\n overflow (when the input is greater than largest uint48).\n Counterpart to Solidity's `uint48` operator.\n Requirements:\n - input must fit into 48 bits\n _Available since v4.7._" - }, - "id": 5613, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint48", - "nameLocation": "14249:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5592, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5591, - "mutability": "mutable", - "name": "value", - "nameLocation": "14266:5:31", - "nodeType": "VariableDeclaration", - "scope": 5613, - "src": "14258:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14258:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14257:15:31" - }, - "returnParameters": { - "id": 5595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5594, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5613, - "src": "14296:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - }, - "typeName": { - "id": 5593, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "14296:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - }, - "visibility": "internal" - } - ], - "src": "14295:8:31" - }, - "scope": 6501, - "src": "14240:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5637, - "nodeType": "Block", - "src": "14816:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5622, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5616, - "src": "14834:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14848:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint40_$", - "typeString": "type(uint40)" - }, - "typeName": { - "id": 5624, - "name": "uint40", - "nodeType": "ElementaryTypeName", - "src": "14848:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint40_$", - "typeString": "type(uint40)" - } - ], - "id": 5623, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "14843:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14843:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint40", - "typeString": "type(uint40)" - } - }, - "id": 5627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14856:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "14843:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint40", - "typeString": "uint40" - } - }, - "src": "14834:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2034302062697473", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14861:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37", - "typeString": "literal_string \"SafeCast: value doesn't fit in 40 bits\"" - }, - "value": "SafeCast: value doesn't fit in 40 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37", - "typeString": "literal_string \"SafeCast: value doesn't fit in 40 bits\"" - } - ], - "id": 5621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14826:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14826:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5631, - "nodeType": "ExpressionStatement", - "src": "14826:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5634, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5616, - "src": "14926:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14919:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint40_$", - "typeString": "type(uint40)" - }, - "typeName": { - "id": 5632, - "name": "uint40", - "nodeType": "ElementaryTypeName", - "src": "14919:6:31", - "typeDescriptions": {} - } - }, - "id": 5635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14919:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint40", - "typeString": "uint40" - } - }, - "functionReturnParameters": 5620, - "id": 5636, - "nodeType": "Return", - "src": "14912:20:31" - } - ] - }, - "documentation": { - "id": 5614, - "nodeType": "StructuredDocumentation", - "src": "14433:314:31", - "text": " @dev Returns the downcasted uint40 from uint256, reverting on\n overflow (when the input is greater than largest uint40).\n Counterpart to Solidity's `uint40` operator.\n Requirements:\n - input must fit into 40 bits\n _Available since v4.7._" - }, - "id": 5638, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint40", - "nameLocation": "14761:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5616, - "mutability": "mutable", - "name": "value", - "nameLocation": "14778:5:31", - "nodeType": "VariableDeclaration", - "scope": 5638, - "src": "14770:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14770:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14769:15:31" - }, - "returnParameters": { - "id": 5620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5619, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5638, - "src": "14808:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint40", - "typeString": "uint40" - }, - "typeName": { - "id": 5618, - "name": "uint40", - "nodeType": "ElementaryTypeName", - "src": "14808:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint40", - "typeString": "uint40" - } - }, - "visibility": "internal" - } - ], - "src": "14807:8:31" - }, - "scope": 6501, - "src": "14752:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5662, - "nodeType": "Block", - "src": "15328:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5647, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5641, - "src": "15346:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15360:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5649, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15360:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - } - ], - "id": 5648, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "15355:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15355:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint32", - "typeString": "type(uint32)" - } - }, - "id": 5652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "15368:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "15355:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "src": "15346:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2033322062697473", - "id": 5654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15373:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 32 bits\"" - }, - "value": "SafeCast: value doesn't fit in 32 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 32 bits\"" - } - ], - "id": 5646, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15338:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15338:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5656, - "nodeType": "ExpressionStatement", - "src": "15338:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5641, - "src": "15438:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15431:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 5657, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15431:6:31", - "typeDescriptions": {} - } - }, - "id": 5660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15431:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "functionReturnParameters": 5645, - "id": 5661, - "nodeType": "Return", - "src": "15424:20:31" - } - ] - }, - "documentation": { - "id": 5639, - "nodeType": "StructuredDocumentation", - "src": "14945:314:31", - "text": " @dev Returns the downcasted uint32 from uint256, reverting on\n overflow (when the input is greater than largest uint32).\n Counterpart to Solidity's `uint32` operator.\n Requirements:\n - input must fit into 32 bits\n _Available since v2.5._" - }, - "id": 5663, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint32", - "nameLocation": "15273:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5641, - "mutability": "mutable", - "name": "value", - "nameLocation": "15290:5:31", - "nodeType": "VariableDeclaration", - "scope": 5663, - "src": "15282:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15282:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15281:15:31" - }, - "returnParameters": { - "id": 5645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5644, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5663, - "src": "15320:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - "typeName": { - "id": 5643, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "15320:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "visibility": "internal" - } - ], - "src": "15319:8:31" - }, - "scope": 6501, - "src": "15264:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5687, - "nodeType": "Block", - "src": "15840:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5672, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5666, - "src": "15858:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15872:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint24_$", - "typeString": "type(uint24)" - }, - "typeName": { - "id": 5674, - "name": "uint24", - "nodeType": "ElementaryTypeName", - "src": "15872:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint24_$", - "typeString": "type(uint24)" - } - ], - "id": 5673, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "15867:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15867:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint24", - "typeString": "type(uint24)" - } - }, - "id": 5677, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "15880:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "15867:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint24", - "typeString": "uint24" - } - }, - "src": "15858:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473", - "id": 5679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15885:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55", - "typeString": "literal_string \"SafeCast: value doesn't fit in 24 bits\"" - }, - "value": "SafeCast: value doesn't fit in 24 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55", - "typeString": "literal_string \"SafeCast: value doesn't fit in 24 bits\"" - } - ], - "id": 5671, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15850:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15850:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5681, - "nodeType": "ExpressionStatement", - "src": "15850:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5684, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5666, - "src": "15950:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15943:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint24_$", - "typeString": "type(uint24)" - }, - "typeName": { - "id": 5682, - "name": "uint24", - "nodeType": "ElementaryTypeName", - "src": "15943:6:31", - "typeDescriptions": {} - } - }, - "id": 5685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15943:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint24", - "typeString": "uint24" - } - }, - "functionReturnParameters": 5670, - "id": 5686, - "nodeType": "Return", - "src": "15936:20:31" - } - ] - }, - "documentation": { - "id": 5664, - "nodeType": "StructuredDocumentation", - "src": "15457:314:31", - "text": " @dev Returns the downcasted uint24 from uint256, reverting on\n overflow (when the input is greater than largest uint24).\n Counterpart to Solidity's `uint24` operator.\n Requirements:\n - input must fit into 24 bits\n _Available since v4.7._" - }, - "id": 5688, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint24", - "nameLocation": "15785:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5666, - "mutability": "mutable", - "name": "value", - "nameLocation": "15802:5:31", - "nodeType": "VariableDeclaration", - "scope": 5688, - "src": "15794:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15794:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15793:15:31" - }, - "returnParameters": { - "id": 5670, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5669, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5688, - "src": "15832:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint24", - "typeString": "uint24" - }, - "typeName": { - "id": 5668, - "name": "uint24", - "nodeType": "ElementaryTypeName", - "src": "15832:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint24", - "typeString": "uint24" - } - }, - "visibility": "internal" - } - ], - "src": "15831:8:31" - }, - "scope": 6501, - "src": "15776:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5712, - "nodeType": "Block", - "src": "16352:123:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5697, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5691, - "src": "16370:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5700, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16384:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": { - "id": 5699, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "16384:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - } - ], - "id": 5698, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "16379:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16379:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint16", - "typeString": "type(uint16)" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "16392:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "16379:16:31", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "src": "16370:25:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473", - "id": 5704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16397:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033", - "typeString": "literal_string \"SafeCast: value doesn't fit in 16 bits\"" - }, - "value": "SafeCast: value doesn't fit in 16 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033", - "typeString": "literal_string \"SafeCast: value doesn't fit in 16 bits\"" - } - ], - "id": 5696, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16362:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16362:76:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5706, - "nodeType": "ExpressionStatement", - "src": "16362:76:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5709, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5691, - "src": "16462:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16455:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint16_$", - "typeString": "type(uint16)" - }, - "typeName": { - "id": 5707, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "16455:6:31", - "typeDescriptions": {} - } - }, - "id": 5710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16455:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "functionReturnParameters": 5695, - "id": 5711, - "nodeType": "Return", - "src": "16448:20:31" - } - ] - }, - "documentation": { - "id": 5689, - "nodeType": "StructuredDocumentation", - "src": "15969:314:31", - "text": " @dev Returns the downcasted uint16 from uint256, reverting on\n overflow (when the input is greater than largest uint16).\n Counterpart to Solidity's `uint16` operator.\n Requirements:\n - input must fit into 16 bits\n _Available since v2.5._" - }, - "id": 5713, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint16", - "nameLocation": "16297:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5691, - "mutability": "mutable", - "name": "value", - "nameLocation": "16314:5:31", - "nodeType": "VariableDeclaration", - "scope": 5713, - "src": "16306:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16306:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16305:15:31" - }, - "returnParameters": { - "id": 5695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5694, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5713, - "src": "16344:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - }, - "typeName": { - "id": 5693, - "name": "uint16", - "nodeType": "ElementaryTypeName", - "src": "16344:6:31", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "visibility": "internal" - } - ], - "src": "16343:8:31" - }, - "scope": 6501, - "src": "16288:187:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5737, - "nodeType": "Block", - "src": "16858:120:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5722, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5716, - "src": "16876:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 5725, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16890:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 5724, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16890:5:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - } - ], - "id": 5723, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "16885:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16885:11:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint8", - "typeString": "type(uint8)" - } - }, - "id": 5727, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "16897:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "16885:15:31", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "16876:24:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e20382062697473", - "id": 5729, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16902:39:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 8 bits\"" - }, - "value": "SafeCast: value doesn't fit in 8 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 8 bits\"" - } - ], - "id": 5721, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16868:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16868:74:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5731, - "nodeType": "ExpressionStatement", - "src": "16868:74:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5734, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5716, - "src": "16965:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16959:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 5732, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16959:5:31", - "typeDescriptions": {} - } - }, - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16959:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 5720, - "id": 5736, - "nodeType": "Return", - "src": "16952:19:31" - } - ] - }, - "documentation": { - "id": 5714, - "nodeType": "StructuredDocumentation", - "src": "16481:310:31", - "text": " @dev Returns the downcasted uint8 from uint256, reverting on\n overflow (when the input is greater than largest uint8).\n Counterpart to Solidity's `uint8` operator.\n Requirements:\n - input must fit into 8 bits\n _Available since v2.5._" - }, - "id": 5738, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint8", - "nameLocation": "16805:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5716, - "mutability": "mutable", - "name": "value", - "nameLocation": "16821:5:31", - "nodeType": "VariableDeclaration", - "scope": 5738, - "src": "16813:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16813:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16812:15:31" - }, - "returnParameters": { - "id": 5720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5719, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5738, - "src": "16851:5:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5718, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16851:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "16850:7:31" - }, - "scope": 6501, - "src": "16796:182:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5758, - "nodeType": "Block", - "src": "17252:103:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5747, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5741, - "src": "17270:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "hexValue": "30", - "id": 5748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17279:1:31", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17270:10:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c7565206d75737420626520706f736974697665", - "id": 5750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17282:34:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_74e6d3a4204092bea305532ded31d3763fc378e46be3884a93ceff08a0761807", - "typeString": "literal_string \"SafeCast: value must be positive\"" - }, - "value": "SafeCast: value must be positive" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_74e6d3a4204092bea305532ded31d3763fc378e46be3884a93ceff08a0761807", - "typeString": "literal_string \"SafeCast: value must be positive\"" - } - ], - "id": 5746, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17262:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17262:55:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5752, - "nodeType": "ExpressionStatement", - "src": "17262:55:31" - }, - { - "expression": { - "arguments": [ - { - "id": 5755, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5741, - "src": "17342:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17334:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5753, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17334:7:31", - "typeDescriptions": {} - } - }, - "id": 5756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17334:14:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5745, - "id": 5757, - "nodeType": "Return", - "src": "17327:21:31" - } - ] - }, - "documentation": { - "id": 5739, - "nodeType": "StructuredDocumentation", - "src": "16984:198:31", - "text": " @dev Converts a signed int256 into an unsigned uint256.\n Requirements:\n - input must be greater than or equal to 0.\n _Available since v3.0._" - }, - "id": 5759, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toUint256", - "nameLocation": "17196:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5741, - "mutability": "mutable", - "name": "value", - "nameLocation": "17213:5:31", - "nodeType": "VariableDeclaration", - "scope": 5759, - "src": "17206:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5740, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "17206:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "17205:14:31" - }, - "returnParameters": { - "id": 5745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5744, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5759, - "src": "17243:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17243:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17242:9:31" - }, - "scope": 6501, - "src": "17187:168:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5781, - "nodeType": "Block", - "src": "17790:124:31", - "statements": [ - { - "expression": { - "id": 5772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5767, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5765, - "src": "17800:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int248", - "typeString": "int248" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5770, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5762, - "src": "17820:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17813:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int248_$", - "typeString": "type(int248)" - }, - "typeName": { - "id": 5768, - "name": "int248", - "nodeType": "ElementaryTypeName", - "src": "17813:6:31", - "typeDescriptions": {} - } - }, - "id": 5771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17813:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int248", - "typeString": "int248" - } - }, - "src": "17800:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int248", - "typeString": "int248" - } - }, - "id": 5773, - "nodeType": "ExpressionStatement", - "src": "17800:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5775, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5765, - "src": "17844:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int248", - "typeString": "int248" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5776, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5762, - "src": "17858:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "17844:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203234382062697473", - "id": 5778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17865:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593", - "typeString": "literal_string \"SafeCast: value doesn't fit in 248 bits\"" - }, - "value": "SafeCast: value doesn't fit in 248 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593", - "typeString": "literal_string \"SafeCast: value doesn't fit in 248 bits\"" - } - ], - "id": 5774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17836:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17836:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5780, - "nodeType": "ExpressionStatement", - "src": "17836:71:31" - } - ] - }, - "documentation": { - "id": 5760, - "nodeType": "StructuredDocumentation", - "src": "17361:350:31", - "text": " @dev Returns the downcasted int248 from int256, reverting on\n overflow (when the input is less than smallest int248 or\n greater than largest int248).\n Counterpart to Solidity's `int248` operator.\n Requirements:\n - input must fit into 248 bits\n _Available since v4.7._" - }, - "id": 5782, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt248", - "nameLocation": "17725:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5762, - "mutability": "mutable", - "name": "value", - "nameLocation": "17741:5:31", - "nodeType": "VariableDeclaration", - "scope": 5782, - "src": "17734:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5761, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "17734:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "17733:14:31" - }, - "returnParameters": { - "id": 5766, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5765, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "17778:10:31", - "nodeType": "VariableDeclaration", - "scope": 5782, - "src": "17771:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int248", - "typeString": "int248" - }, - "typeName": { - "id": 5764, - "name": "int248", - "nodeType": "ElementaryTypeName", - "src": "17771:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int248", - "typeString": "int248" - } - }, - "visibility": "internal" - } - ], - "src": "17770:19:31" - }, - "scope": 6501, - "src": "17716:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5804, - "nodeType": "Block", - "src": "18349:124:31", - "statements": [ - { - "expression": { - "id": 5795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5790, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5788, - "src": "18359:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int240", - "typeString": "int240" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5793, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5785, - "src": "18379:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18372:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int240_$", - "typeString": "type(int240)" - }, - "typeName": { - "id": 5791, - "name": "int240", - "nodeType": "ElementaryTypeName", - "src": "18372:6:31", - "typeDescriptions": {} - } - }, - "id": 5794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18372:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int240", - "typeString": "int240" - } - }, - "src": "18359:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int240", - "typeString": "int240" - } - }, - "id": 5796, - "nodeType": "ExpressionStatement", - "src": "18359:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5798, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5788, - "src": "18403:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int240", - "typeString": "int240" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5799, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5785, - "src": "18417:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "18403:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203234302062697473", - "id": 5801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18424:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87", - "typeString": "literal_string \"SafeCast: value doesn't fit in 240 bits\"" - }, - "value": "SafeCast: value doesn't fit in 240 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87", - "typeString": "literal_string \"SafeCast: value doesn't fit in 240 bits\"" - } - ], - "id": 5797, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18395:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18395:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5803, - "nodeType": "ExpressionStatement", - "src": "18395:71:31" - } - ] - }, - "documentation": { - "id": 5783, - "nodeType": "StructuredDocumentation", - "src": "17920:350:31", - "text": " @dev Returns the downcasted int240 from int256, reverting on\n overflow (when the input is less than smallest int240 or\n greater than largest int240).\n Counterpart to Solidity's `int240` operator.\n Requirements:\n - input must fit into 240 bits\n _Available since v4.7._" - }, - "id": 5805, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt240", - "nameLocation": "18284:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5785, - "mutability": "mutable", - "name": "value", - "nameLocation": "18300:5:31", - "nodeType": "VariableDeclaration", - "scope": 5805, - "src": "18293:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5784, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "18293:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "18292:14:31" - }, - "returnParameters": { - "id": 5789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5788, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "18337:10:31", - "nodeType": "VariableDeclaration", - "scope": 5805, - "src": "18330:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int240", - "typeString": "int240" - }, - "typeName": { - "id": 5787, - "name": "int240", - "nodeType": "ElementaryTypeName", - "src": "18330:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int240", - "typeString": "int240" - } - }, - "visibility": "internal" - } - ], - "src": "18329:19:31" - }, - "scope": 6501, - "src": "18275:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5827, - "nodeType": "Block", - "src": "18908:124:31", - "statements": [ - { - "expression": { - "id": 5818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5813, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5811, - "src": "18918:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int232", - "typeString": "int232" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5816, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5808, - "src": "18938:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18931:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int232_$", - "typeString": "type(int232)" - }, - "typeName": { - "id": 5814, - "name": "int232", - "nodeType": "ElementaryTypeName", - "src": "18931:6:31", - "typeDescriptions": {} - } - }, - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18931:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int232", - "typeString": "int232" - } - }, - "src": "18918:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int232", - "typeString": "int232" - } - }, - "id": 5819, - "nodeType": "ExpressionStatement", - "src": "18918:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5821, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5811, - "src": "18962:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int232", - "typeString": "int232" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5822, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5808, - "src": "18976:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "18962:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203233322062697473", - "id": 5824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18983:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957", - "typeString": "literal_string \"SafeCast: value doesn't fit in 232 bits\"" - }, - "value": "SafeCast: value doesn't fit in 232 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957", - "typeString": "literal_string \"SafeCast: value doesn't fit in 232 bits\"" - } - ], - "id": 5820, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18954:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18954:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5826, - "nodeType": "ExpressionStatement", - "src": "18954:71:31" - } - ] - }, - "documentation": { - "id": 5806, - "nodeType": "StructuredDocumentation", - "src": "18479:350:31", - "text": " @dev Returns the downcasted int232 from int256, reverting on\n overflow (when the input is less than smallest int232 or\n greater than largest int232).\n Counterpart to Solidity's `int232` operator.\n Requirements:\n - input must fit into 232 bits\n _Available since v4.7._" - }, - "id": 5828, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt232", - "nameLocation": "18843:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5809, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5808, - "mutability": "mutable", - "name": "value", - "nameLocation": "18859:5:31", - "nodeType": "VariableDeclaration", - "scope": 5828, - "src": "18852:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5807, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "18852:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "18851:14:31" - }, - "returnParameters": { - "id": 5812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5811, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "18896:10:31", - "nodeType": "VariableDeclaration", - "scope": 5828, - "src": "18889:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int232", - "typeString": "int232" - }, - "typeName": { - "id": 5810, - "name": "int232", - "nodeType": "ElementaryTypeName", - "src": "18889:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int232", - "typeString": "int232" - } - }, - "visibility": "internal" - } - ], - "src": "18888:19:31" - }, - "scope": 6501, - "src": "18834:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5850, - "nodeType": "Block", - "src": "19467:124:31", - "statements": [ - { - "expression": { - "id": 5841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5836, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "19477:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int224", - "typeString": "int224" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5839, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5831, - "src": "19497:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19490:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int224_$", - "typeString": "type(int224)" - }, - "typeName": { - "id": 5837, - "name": "int224", - "nodeType": "ElementaryTypeName", - "src": "19490:6:31", - "typeDescriptions": {} - } - }, - "id": 5840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19490:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int224", - "typeString": "int224" - } - }, - "src": "19477:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int224", - "typeString": "int224" - } - }, - "id": 5842, - "nodeType": "ExpressionStatement", - "src": "19477:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5844, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5834, - "src": "19521:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int224", - "typeString": "int224" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5845, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5831, - "src": "19535:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "19521:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203232342062697473", - "id": 5847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19542:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79", - "typeString": "literal_string \"SafeCast: value doesn't fit in 224 bits\"" - }, - "value": "SafeCast: value doesn't fit in 224 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79", - "typeString": "literal_string \"SafeCast: value doesn't fit in 224 bits\"" - } - ], - "id": 5843, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19513:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19513:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5849, - "nodeType": "ExpressionStatement", - "src": "19513:71:31" - } - ] - }, - "documentation": { - "id": 5829, - "nodeType": "StructuredDocumentation", - "src": "19038:350:31", - "text": " @dev Returns the downcasted int224 from int256, reverting on\n overflow (when the input is less than smallest int224 or\n greater than largest int224).\n Counterpart to Solidity's `int224` operator.\n Requirements:\n - input must fit into 224 bits\n _Available since v4.7._" - }, - "id": 5851, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt224", - "nameLocation": "19402:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5831, - "mutability": "mutable", - "name": "value", - "nameLocation": "19418:5:31", - "nodeType": "VariableDeclaration", - "scope": 5851, - "src": "19411:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5830, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "19411:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "19410:14:31" - }, - "returnParameters": { - "id": 5835, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5834, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "19455:10:31", - "nodeType": "VariableDeclaration", - "scope": 5851, - "src": "19448:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int224", - "typeString": "int224" - }, - "typeName": { - "id": 5833, - "name": "int224", - "nodeType": "ElementaryTypeName", - "src": "19448:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int224", - "typeString": "int224" - } - }, - "visibility": "internal" - } - ], - "src": "19447:19:31" - }, - "scope": 6501, - "src": "19393:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5873, - "nodeType": "Block", - "src": "20026:124:31", - "statements": [ - { - "expression": { - "id": 5864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5859, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5857, - "src": "20036:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int216", - "typeString": "int216" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5862, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5854, - "src": "20056:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20049:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int216_$", - "typeString": "type(int216)" - }, - "typeName": { - "id": 5860, - "name": "int216", - "nodeType": "ElementaryTypeName", - "src": "20049:6:31", - "typeDescriptions": {} - } - }, - "id": 5863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20049:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int216", - "typeString": "int216" - } - }, - "src": "20036:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int216", - "typeString": "int216" - } - }, - "id": 5865, - "nodeType": "ExpressionStatement", - "src": "20036:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5867, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5857, - "src": "20080:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int216", - "typeString": "int216" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5868, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5854, - "src": "20094:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "20080:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203231362062697473", - "id": 5870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20101:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 216 bits\"" - }, - "value": "SafeCast: value doesn't fit in 216 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 216 bits\"" - } - ], - "id": 5866, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20072:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20072:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5872, - "nodeType": "ExpressionStatement", - "src": "20072:71:31" - } - ] - }, - "documentation": { - "id": 5852, - "nodeType": "StructuredDocumentation", - "src": "19597:350:31", - "text": " @dev Returns the downcasted int216 from int256, reverting on\n overflow (when the input is less than smallest int216 or\n greater than largest int216).\n Counterpart to Solidity's `int216` operator.\n Requirements:\n - input must fit into 216 bits\n _Available since v4.7._" - }, - "id": 5874, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt216", - "nameLocation": "19961:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5854, - "mutability": "mutable", - "name": "value", - "nameLocation": "19977:5:31", - "nodeType": "VariableDeclaration", - "scope": 5874, - "src": "19970:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5853, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "19970:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "19969:14:31" - }, - "returnParameters": { - "id": 5858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5857, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "20014:10:31", - "nodeType": "VariableDeclaration", - "scope": 5874, - "src": "20007:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int216", - "typeString": "int216" - }, - "typeName": { - "id": 5856, - "name": "int216", - "nodeType": "ElementaryTypeName", - "src": "20007:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int216", - "typeString": "int216" - } - }, - "visibility": "internal" - } - ], - "src": "20006:19:31" - }, - "scope": 6501, - "src": "19952:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5896, - "nodeType": "Block", - "src": "20585:124:31", - "statements": [ - { - "expression": { - "id": 5887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5882, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5880, - "src": "20595:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int208", - "typeString": "int208" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5885, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "20615:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20608:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int208_$", - "typeString": "type(int208)" - }, - "typeName": { - "id": 5883, - "name": "int208", - "nodeType": "ElementaryTypeName", - "src": "20608:6:31", - "typeDescriptions": {} - } - }, - "id": 5886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20608:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int208", - "typeString": "int208" - } - }, - "src": "20595:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int208", - "typeString": "int208" - } - }, - "id": 5888, - "nodeType": "ExpressionStatement", - "src": "20595:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5890, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5880, - "src": "20639:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int208", - "typeString": "int208" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5891, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "20653:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "20639:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203230382062697473", - "id": 5893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20660:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23", - "typeString": "literal_string \"SafeCast: value doesn't fit in 208 bits\"" - }, - "value": "SafeCast: value doesn't fit in 208 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23", - "typeString": "literal_string \"SafeCast: value doesn't fit in 208 bits\"" - } - ], - "id": 5889, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20631:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20631:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5895, - "nodeType": "ExpressionStatement", - "src": "20631:71:31" - } - ] - }, - "documentation": { - "id": 5875, - "nodeType": "StructuredDocumentation", - "src": "20156:350:31", - "text": " @dev Returns the downcasted int208 from int256, reverting on\n overflow (when the input is less than smallest int208 or\n greater than largest int208).\n Counterpart to Solidity's `int208` operator.\n Requirements:\n - input must fit into 208 bits\n _Available since v4.7._" - }, - "id": 5897, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt208", - "nameLocation": "20520:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5877, - "mutability": "mutable", - "name": "value", - "nameLocation": "20536:5:31", - "nodeType": "VariableDeclaration", - "scope": 5897, - "src": "20529:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5876, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "20529:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "20528:14:31" - }, - "returnParameters": { - "id": 5881, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5880, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "20573:10:31", - "nodeType": "VariableDeclaration", - "scope": 5897, - "src": "20566:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int208", - "typeString": "int208" - }, - "typeName": { - "id": 5879, - "name": "int208", - "nodeType": "ElementaryTypeName", - "src": "20566:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int208", - "typeString": "int208" - } - }, - "visibility": "internal" - } - ], - "src": "20565:19:31" - }, - "scope": 6501, - "src": "20511:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5919, - "nodeType": "Block", - "src": "21144:124:31", - "statements": [ - { - "expression": { - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5905, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5903, - "src": "21154:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int200", - "typeString": "int200" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5908, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5900, - "src": "21174:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21167:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int200_$", - "typeString": "type(int200)" - }, - "typeName": { - "id": 5906, - "name": "int200", - "nodeType": "ElementaryTypeName", - "src": "21167:6:31", - "typeDescriptions": {} - } - }, - "id": 5909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21167:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int200", - "typeString": "int200" - } - }, - "src": "21154:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int200", - "typeString": "int200" - } - }, - "id": 5911, - "nodeType": "ExpressionStatement", - "src": "21154:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5913, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5903, - "src": "21198:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int200", - "typeString": "int200" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5914, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5900, - "src": "21212:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "21198:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203230302062697473", - "id": 5916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21219:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 200 bits\"" - }, - "value": "SafeCast: value doesn't fit in 200 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 200 bits\"" - } - ], - "id": 5912, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21190:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21190:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5918, - "nodeType": "ExpressionStatement", - "src": "21190:71:31" - } - ] - }, - "documentation": { - "id": 5898, - "nodeType": "StructuredDocumentation", - "src": "20715:350:31", - "text": " @dev Returns the downcasted int200 from int256, reverting on\n overflow (when the input is less than smallest int200 or\n greater than largest int200).\n Counterpart to Solidity's `int200` operator.\n Requirements:\n - input must fit into 200 bits\n _Available since v4.7._" - }, - "id": 5920, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt200", - "nameLocation": "21079:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5900, - "mutability": "mutable", - "name": "value", - "nameLocation": "21095:5:31", - "nodeType": "VariableDeclaration", - "scope": 5920, - "src": "21088:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5899, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "21088:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "21087:14:31" - }, - "returnParameters": { - "id": 5904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5903, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "21132:10:31", - "nodeType": "VariableDeclaration", - "scope": 5920, - "src": "21125:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int200", - "typeString": "int200" - }, - "typeName": { - "id": 5902, - "name": "int200", - "nodeType": "ElementaryTypeName", - "src": "21125:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int200", - "typeString": "int200" - } - }, - "visibility": "internal" - } - ], - "src": "21124:19:31" - }, - "scope": 6501, - "src": "21070:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5942, - "nodeType": "Block", - "src": "21703:124:31", - "statements": [ - { - "expression": { - "id": 5933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5928, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5926, - "src": "21713:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int192", - "typeString": "int192" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5931, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5923, - "src": "21733:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "21726:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int192_$", - "typeString": "type(int192)" - }, - "typeName": { - "id": 5929, - "name": "int192", - "nodeType": "ElementaryTypeName", - "src": "21726:6:31", - "typeDescriptions": {} - } - }, - "id": 5932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21726:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int192", - "typeString": "int192" - } - }, - "src": "21713:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int192", - "typeString": "int192" - } - }, - "id": 5934, - "nodeType": "ExpressionStatement", - "src": "21713:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5936, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5926, - "src": "21757:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int192", - "typeString": "int192" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5937, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5923, - "src": "21771:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "21757:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203139322062697473", - "id": 5939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21778:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae", - "typeString": "literal_string \"SafeCast: value doesn't fit in 192 bits\"" - }, - "value": "SafeCast: value doesn't fit in 192 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae", - "typeString": "literal_string \"SafeCast: value doesn't fit in 192 bits\"" - } - ], - "id": 5935, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21749:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21749:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5941, - "nodeType": "ExpressionStatement", - "src": "21749:71:31" - } - ] - }, - "documentation": { - "id": 5921, - "nodeType": "StructuredDocumentation", - "src": "21274:350:31", - "text": " @dev Returns the downcasted int192 from int256, reverting on\n overflow (when the input is less than smallest int192 or\n greater than largest int192).\n Counterpart to Solidity's `int192` operator.\n Requirements:\n - input must fit into 192 bits\n _Available since v4.7._" - }, - "id": 5943, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt192", - "nameLocation": "21638:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5923, - "mutability": "mutable", - "name": "value", - "nameLocation": "21654:5:31", - "nodeType": "VariableDeclaration", - "scope": 5943, - "src": "21647:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5922, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "21647:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "21646:14:31" - }, - "returnParameters": { - "id": 5927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5926, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "21691:10:31", - "nodeType": "VariableDeclaration", - "scope": 5943, - "src": "21684:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int192", - "typeString": "int192" - }, - "typeName": { - "id": 5925, - "name": "int192", - "nodeType": "ElementaryTypeName", - "src": "21684:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int192", - "typeString": "int192" - } - }, - "visibility": "internal" - } - ], - "src": "21683:19:31" - }, - "scope": 6501, - "src": "21629:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5965, - "nodeType": "Block", - "src": "22262:124:31", - "statements": [ - { - "expression": { - "id": 5956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5951, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5949, - "src": "22272:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int184", - "typeString": "int184" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5954, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5946, - "src": "22292:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22285:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int184_$", - "typeString": "type(int184)" - }, - "typeName": { - "id": 5952, - "name": "int184", - "nodeType": "ElementaryTypeName", - "src": "22285:6:31", - "typeDescriptions": {} - } - }, - "id": 5955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22285:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int184", - "typeString": "int184" - } - }, - "src": "22272:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int184", - "typeString": "int184" - } - }, - "id": 5957, - "nodeType": "ExpressionStatement", - "src": "22272:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5959, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5949, - "src": "22316:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int184", - "typeString": "int184" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5960, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5946, - "src": "22330:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "22316:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203138342062697473", - "id": 5962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22337:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75", - "typeString": "literal_string \"SafeCast: value doesn't fit in 184 bits\"" - }, - "value": "SafeCast: value doesn't fit in 184 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75", - "typeString": "literal_string \"SafeCast: value doesn't fit in 184 bits\"" - } - ], - "id": 5958, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "22308:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22308:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5964, - "nodeType": "ExpressionStatement", - "src": "22308:71:31" - } - ] - }, - "documentation": { - "id": 5944, - "nodeType": "StructuredDocumentation", - "src": "21833:350:31", - "text": " @dev Returns the downcasted int184 from int256, reverting on\n overflow (when the input is less than smallest int184 or\n greater than largest int184).\n Counterpart to Solidity's `int184` operator.\n Requirements:\n - input must fit into 184 bits\n _Available since v4.7._" - }, - "id": 5966, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt184", - "nameLocation": "22197:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5946, - "mutability": "mutable", - "name": "value", - "nameLocation": "22213:5:31", - "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "22206:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5945, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "22206:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "22205:14:31" - }, - "returnParameters": { - "id": 5950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5949, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "22250:10:31", - "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "22243:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int184", - "typeString": "int184" - }, - "typeName": { - "id": 5948, - "name": "int184", - "nodeType": "ElementaryTypeName", - "src": "22243:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int184", - "typeString": "int184" - } - }, - "visibility": "internal" - } - ], - "src": "22242:19:31" - }, - "scope": 6501, - "src": "22188:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5988, - "nodeType": "Block", - "src": "22821:124:31", - "statements": [ - { - "expression": { - "id": 5979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5974, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5972, - "src": "22831:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int176", - "typeString": "int176" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5977, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "22851:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22844:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int176_$", - "typeString": "type(int176)" - }, - "typeName": { - "id": 5975, - "name": "int176", - "nodeType": "ElementaryTypeName", - "src": "22844:6:31", - "typeDescriptions": {} - } - }, - "id": 5978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22844:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int176", - "typeString": "int176" - } - }, - "src": "22831:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int176", - "typeString": "int176" - } - }, - "id": 5980, - "nodeType": "ExpressionStatement", - "src": "22831:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 5984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 5982, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5972, - "src": "22875:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int176", - "typeString": "int176" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 5983, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5969, - "src": "22889:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "22875:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203137362062697473", - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22896:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30", - "typeString": "literal_string \"SafeCast: value doesn't fit in 176 bits\"" - }, - "value": "SafeCast: value doesn't fit in 176 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30", - "typeString": "literal_string \"SafeCast: value doesn't fit in 176 bits\"" - } - ], - "id": 5981, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "22867:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22867:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5987, - "nodeType": "ExpressionStatement", - "src": "22867:71:31" - } - ] - }, - "documentation": { - "id": 5967, - "nodeType": "StructuredDocumentation", - "src": "22392:350:31", - "text": " @dev Returns the downcasted int176 from int256, reverting on\n overflow (when the input is less than smallest int176 or\n greater than largest int176).\n Counterpart to Solidity's `int176` operator.\n Requirements:\n - input must fit into 176 bits\n _Available since v4.7._" - }, - "id": 5989, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt176", - "nameLocation": "22756:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5969, - "mutability": "mutable", - "name": "value", - "nameLocation": "22772:5:31", - "nodeType": "VariableDeclaration", - "scope": 5989, - "src": "22765:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5968, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "22765:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "22764:14:31" - }, - "returnParameters": { - "id": 5973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5972, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "22809:10:31", - "nodeType": "VariableDeclaration", - "scope": 5989, - "src": "22802:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int176", - "typeString": "int176" - }, - "typeName": { - "id": 5971, - "name": "int176", - "nodeType": "ElementaryTypeName", - "src": "22802:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int176", - "typeString": "int176" - } - }, - "visibility": "internal" - } - ], - "src": "22801:19:31" - }, - "scope": 6501, - "src": "22747:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6011, - "nodeType": "Block", - "src": "23380:124:31", - "statements": [ - { - "expression": { - "id": 6002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5997, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "23390:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int168", - "typeString": "int168" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6000, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "23410:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 5999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23403:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int168_$", - "typeString": "type(int168)" - }, - "typeName": { - "id": 5998, - "name": "int168", - "nodeType": "ElementaryTypeName", - "src": "23403:6:31", - "typeDescriptions": {} - } - }, - "id": 6001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23403:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int168", - "typeString": "int168" - } - }, - "src": "23390:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int168", - "typeString": "int168" - } - }, - "id": 6003, - "nodeType": "ExpressionStatement", - "src": "23390:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6005, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5995, - "src": "23434:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int168", - "typeString": "int168" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6006, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5992, - "src": "23448:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "23434:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203136382062697473", - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23455:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 168 bits\"" - }, - "value": "SafeCast: value doesn't fit in 168 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 168 bits\"" - } - ], - "id": 6004, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "23426:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23426:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6010, - "nodeType": "ExpressionStatement", - "src": "23426:71:31" - } - ] - }, - "documentation": { - "id": 5990, - "nodeType": "StructuredDocumentation", - "src": "22951:350:31", - "text": " @dev Returns the downcasted int168 from int256, reverting on\n overflow (when the input is less than smallest int168 or\n greater than largest int168).\n Counterpart to Solidity's `int168` operator.\n Requirements:\n - input must fit into 168 bits\n _Available since v4.7._" - }, - "id": 6012, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt168", - "nameLocation": "23315:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5993, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5992, - "mutability": "mutable", - "name": "value", - "nameLocation": "23331:5:31", - "nodeType": "VariableDeclaration", - "scope": 6012, - "src": "23324:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 5991, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "23324:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "23323:14:31" - }, - "returnParameters": { - "id": 5996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5995, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "23368:10:31", - "nodeType": "VariableDeclaration", - "scope": 6012, - "src": "23361:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int168", - "typeString": "int168" - }, - "typeName": { - "id": 5994, - "name": "int168", - "nodeType": "ElementaryTypeName", - "src": "23361:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int168", - "typeString": "int168" - } - }, - "visibility": "internal" - } - ], - "src": "23360:19:31" - }, - "scope": 6501, - "src": "23306:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6034, - "nodeType": "Block", - "src": "23939:124:31", - "statements": [ - { - "expression": { - "id": 6025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6020, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "23949:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int160", - "typeString": "int160" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6023, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6015, - "src": "23969:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6022, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23962:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int160_$", - "typeString": "type(int160)" - }, - "typeName": { - "id": 6021, - "name": "int160", - "nodeType": "ElementaryTypeName", - "src": "23962:6:31", - "typeDescriptions": {} - } - }, - "id": 6024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23962:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int160", - "typeString": "int160" - } - }, - "src": "23949:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int160", - "typeString": "int160" - } - }, - "id": 6026, - "nodeType": "ExpressionStatement", - "src": "23949:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6028, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "23993:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int160", - "typeString": "int160" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6029, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6015, - "src": "24007:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "23993:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203136302062697473", - "id": 6031, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24014:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 160 bits\"" - }, - "value": "SafeCast: value doesn't fit in 160 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 160 bits\"" - } - ], - "id": 6027, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "23985:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23985:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6033, - "nodeType": "ExpressionStatement", - "src": "23985:71:31" - } - ] - }, - "documentation": { - "id": 6013, - "nodeType": "StructuredDocumentation", - "src": "23510:350:31", - "text": " @dev Returns the downcasted int160 from int256, reverting on\n overflow (when the input is less than smallest int160 or\n greater than largest int160).\n Counterpart to Solidity's `int160` operator.\n Requirements:\n - input must fit into 160 bits\n _Available since v4.7._" - }, - "id": 6035, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt160", - "nameLocation": "23874:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6015, - "mutability": "mutable", - "name": "value", - "nameLocation": "23890:5:31", - "nodeType": "VariableDeclaration", - "scope": 6035, - "src": "23883:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6014, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "23883:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "23882:14:31" - }, - "returnParameters": { - "id": 6019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6018, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "23927:10:31", - "nodeType": "VariableDeclaration", - "scope": 6035, - "src": "23920:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int160", - "typeString": "int160" - }, - "typeName": { - "id": 6017, - "name": "int160", - "nodeType": "ElementaryTypeName", - "src": "23920:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int160", - "typeString": "int160" - } - }, - "visibility": "internal" - } - ], - "src": "23919:19:31" - }, - "scope": 6501, - "src": "23865:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6057, - "nodeType": "Block", - "src": "24498:124:31", - "statements": [ - { - "expression": { - "id": 6048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6043, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "24508:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int152", - "typeString": "int152" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6046, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6038, - "src": "24528:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24521:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int152_$", - "typeString": "type(int152)" - }, - "typeName": { - "id": 6044, - "name": "int152", - "nodeType": "ElementaryTypeName", - "src": "24521:6:31", - "typeDescriptions": {} - } - }, - "id": 6047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24521:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int152", - "typeString": "int152" - } - }, - "src": "24508:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int152", - "typeString": "int152" - } - }, - "id": 6049, - "nodeType": "ExpressionStatement", - "src": "24508:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6051, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6041, - "src": "24552:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int152", - "typeString": "int152" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6052, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6038, - "src": "24566:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "24552:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203135322062697473", - "id": 6054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24573:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831", - "typeString": "literal_string \"SafeCast: value doesn't fit in 152 bits\"" - }, - "value": "SafeCast: value doesn't fit in 152 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831", - "typeString": "literal_string \"SafeCast: value doesn't fit in 152 bits\"" - } - ], - "id": 6050, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "24544:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24544:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6056, - "nodeType": "ExpressionStatement", - "src": "24544:71:31" - } - ] - }, - "documentation": { - "id": 6036, - "nodeType": "StructuredDocumentation", - "src": "24069:350:31", - "text": " @dev Returns the downcasted int152 from int256, reverting on\n overflow (when the input is less than smallest int152 or\n greater than largest int152).\n Counterpart to Solidity's `int152` operator.\n Requirements:\n - input must fit into 152 bits\n _Available since v4.7._" - }, - "id": 6058, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt152", - "nameLocation": "24433:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6039, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6038, - "mutability": "mutable", - "name": "value", - "nameLocation": "24449:5:31", - "nodeType": "VariableDeclaration", - "scope": 6058, - "src": "24442:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6037, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "24442:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "24441:14:31" - }, - "returnParameters": { - "id": 6042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6041, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "24486:10:31", - "nodeType": "VariableDeclaration", - "scope": 6058, - "src": "24479:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int152", - "typeString": "int152" - }, - "typeName": { - "id": 6040, - "name": "int152", - "nodeType": "ElementaryTypeName", - "src": "24479:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int152", - "typeString": "int152" - } - }, - "visibility": "internal" - } - ], - "src": "24478:19:31" - }, - "scope": 6501, - "src": "24424:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6080, - "nodeType": "Block", - "src": "25057:124:31", - "statements": [ - { - "expression": { - "id": 6071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6066, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "25067:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int144", - "typeString": "int144" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6069, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6061, - "src": "25087:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25080:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int144_$", - "typeString": "type(int144)" - }, - "typeName": { - "id": 6067, - "name": "int144", - "nodeType": "ElementaryTypeName", - "src": "25080:6:31", - "typeDescriptions": {} - } - }, - "id": 6070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25080:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int144", - "typeString": "int144" - } - }, - "src": "25067:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int144", - "typeString": "int144" - } - }, - "id": 6072, - "nodeType": "ExpressionStatement", - "src": "25067:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6074, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6064, - "src": "25111:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int144", - "typeString": "int144" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6075, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6061, - "src": "25125:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "25111:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203134342062697473", - "id": 6077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25132:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab", - "typeString": "literal_string \"SafeCast: value doesn't fit in 144 bits\"" - }, - "value": "SafeCast: value doesn't fit in 144 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab", - "typeString": "literal_string \"SafeCast: value doesn't fit in 144 bits\"" - } - ], - "id": 6073, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "25103:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25103:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6079, - "nodeType": "ExpressionStatement", - "src": "25103:71:31" - } - ] - }, - "documentation": { - "id": 6059, - "nodeType": "StructuredDocumentation", - "src": "24628:350:31", - "text": " @dev Returns the downcasted int144 from int256, reverting on\n overflow (when the input is less than smallest int144 or\n greater than largest int144).\n Counterpart to Solidity's `int144` operator.\n Requirements:\n - input must fit into 144 bits\n _Available since v4.7._" - }, - "id": 6081, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt144", - "nameLocation": "24992:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6061, - "mutability": "mutable", - "name": "value", - "nameLocation": "25008:5:31", - "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "25001:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6060, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "25001:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "25000:14:31" - }, - "returnParameters": { - "id": 6065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6064, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "25045:10:31", - "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "25038:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int144", - "typeString": "int144" - }, - "typeName": { - "id": 6063, - "name": "int144", - "nodeType": "ElementaryTypeName", - "src": "25038:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int144", - "typeString": "int144" - } - }, - "visibility": "internal" - } - ], - "src": "25037:19:31" - }, - "scope": 6501, - "src": "24983:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6103, - "nodeType": "Block", - "src": "25616:124:31", - "statements": [ - { - "expression": { - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6089, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6087, - "src": "25626:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int136", - "typeString": "int136" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6092, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "25646:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "25639:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int136_$", - "typeString": "type(int136)" - }, - "typeName": { - "id": 6090, - "name": "int136", - "nodeType": "ElementaryTypeName", - "src": "25639:6:31", - "typeDescriptions": {} - } - }, - "id": 6093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25639:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int136", - "typeString": "int136" - } - }, - "src": "25626:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int136", - "typeString": "int136" - } - }, - "id": 6095, - "nodeType": "ExpressionStatement", - "src": "25626:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6097, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6087, - "src": "25670:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int136", - "typeString": "int136" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6098, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6084, - "src": "25684:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "25670:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203133362062697473", - "id": 6100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25691:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a", - "typeString": "literal_string \"SafeCast: value doesn't fit in 136 bits\"" - }, - "value": "SafeCast: value doesn't fit in 136 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a", - "typeString": "literal_string \"SafeCast: value doesn't fit in 136 bits\"" - } - ], - "id": 6096, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "25662:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25662:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6102, - "nodeType": "ExpressionStatement", - "src": "25662:71:31" - } - ] - }, - "documentation": { - "id": 6082, - "nodeType": "StructuredDocumentation", - "src": "25187:350:31", - "text": " @dev Returns the downcasted int136 from int256, reverting on\n overflow (when the input is less than smallest int136 or\n greater than largest int136).\n Counterpart to Solidity's `int136` operator.\n Requirements:\n - input must fit into 136 bits\n _Available since v4.7._" - }, - "id": 6104, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt136", - "nameLocation": "25551:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6085, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6084, - "mutability": "mutable", - "name": "value", - "nameLocation": "25567:5:31", - "nodeType": "VariableDeclaration", - "scope": 6104, - "src": "25560:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6083, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "25560:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "25559:14:31" - }, - "returnParameters": { - "id": 6088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6087, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "25604:10:31", - "nodeType": "VariableDeclaration", - "scope": 6104, - "src": "25597:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int136", - "typeString": "int136" - }, - "typeName": { - "id": 6086, - "name": "int136", - "nodeType": "ElementaryTypeName", - "src": "25597:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int136", - "typeString": "int136" - } - }, - "visibility": "internal" - } - ], - "src": "25596:19:31" - }, - "scope": 6501, - "src": "25542:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6126, - "nodeType": "Block", - "src": "26175:124:31", - "statements": [ - { - "expression": { - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6112, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6110, - "src": "26185:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int128", - "typeString": "int128" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6115, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6107, - "src": "26205:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "26198:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int128_$", - "typeString": "type(int128)" - }, - "typeName": { - "id": 6113, - "name": "int128", - "nodeType": "ElementaryTypeName", - "src": "26198:6:31", - "typeDescriptions": {} - } - }, - "id": 6116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26198:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int128", - "typeString": "int128" - } - }, - "src": "26185:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int128", - "typeString": "int128" - } - }, - "id": 6118, - "nodeType": "ExpressionStatement", - "src": "26185:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6120, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6110, - "src": "26229:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int128", - "typeString": "int128" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6121, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6107, - "src": "26243:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "26229:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473", - "id": 6123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26250:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 128 bits\"" - }, - "value": "SafeCast: value doesn't fit in 128 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c", - "typeString": "literal_string \"SafeCast: value doesn't fit in 128 bits\"" - } - ], - "id": 6119, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "26221:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26221:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6125, - "nodeType": "ExpressionStatement", - "src": "26221:71:31" - } - ] - }, - "documentation": { - "id": 6105, - "nodeType": "StructuredDocumentation", - "src": "25746:350:31", - "text": " @dev Returns the downcasted int128 from int256, reverting on\n overflow (when the input is less than smallest int128 or\n greater than largest int128).\n Counterpart to Solidity's `int128` operator.\n Requirements:\n - input must fit into 128 bits\n _Available since v3.1._" - }, - "id": 6127, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt128", - "nameLocation": "26110:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6107, - "mutability": "mutable", - "name": "value", - "nameLocation": "26126:5:31", - "nodeType": "VariableDeclaration", - "scope": 6127, - "src": "26119:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6106, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "26119:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "26118:14:31" - }, - "returnParameters": { - "id": 6111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6110, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "26163:10:31", - "nodeType": "VariableDeclaration", - "scope": 6127, - "src": "26156:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int128", - "typeString": "int128" - }, - "typeName": { - "id": 6109, - "name": "int128", - "nodeType": "ElementaryTypeName", - "src": "26156:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int128", - "typeString": "int128" - } - }, - "visibility": "internal" - } - ], - "src": "26155:19:31" - }, - "scope": 6501, - "src": "26101:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6149, - "nodeType": "Block", - "src": "26734:124:31", - "statements": [ - { - "expression": { - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6135, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6133, - "src": "26744:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int120", - "typeString": "int120" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6138, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "26764:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "26757:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int120_$", - "typeString": "type(int120)" - }, - "typeName": { - "id": 6136, - "name": "int120", - "nodeType": "ElementaryTypeName", - "src": "26757:6:31", - "typeDescriptions": {} - } - }, - "id": 6139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26757:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int120", - "typeString": "int120" - } - }, - "src": "26744:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int120", - "typeString": "int120" - } - }, - "id": 6141, - "nodeType": "ExpressionStatement", - "src": "26744:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6143, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6133, - "src": "26788:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int120", - "typeString": "int120" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6144, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6130, - "src": "26802:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "26788:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203132302062697473", - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "26809:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09", - "typeString": "literal_string \"SafeCast: value doesn't fit in 120 bits\"" - }, - "value": "SafeCast: value doesn't fit in 120 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09", - "typeString": "literal_string \"SafeCast: value doesn't fit in 120 bits\"" - } - ], - "id": 6142, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "26780:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26780:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "26780:71:31" - } - ] - }, - "documentation": { - "id": 6128, - "nodeType": "StructuredDocumentation", - "src": "26305:350:31", - "text": " @dev Returns the downcasted int120 from int256, reverting on\n overflow (when the input is less than smallest int120 or\n greater than largest int120).\n Counterpart to Solidity's `int120` operator.\n Requirements:\n - input must fit into 120 bits\n _Available since v4.7._" - }, - "id": 6150, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt120", - "nameLocation": "26669:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6130, - "mutability": "mutable", - "name": "value", - "nameLocation": "26685:5:31", - "nodeType": "VariableDeclaration", - "scope": 6150, - "src": "26678:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6129, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "26678:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "26677:14:31" - }, - "returnParameters": { - "id": 6134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6133, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "26722:10:31", - "nodeType": "VariableDeclaration", - "scope": 6150, - "src": "26715:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int120", - "typeString": "int120" - }, - "typeName": { - "id": 6132, - "name": "int120", - "nodeType": "ElementaryTypeName", - "src": "26715:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int120", - "typeString": "int120" - } - }, - "visibility": "internal" - } - ], - "src": "26714:19:31" - }, - "scope": 6501, - "src": "26660:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6172, - "nodeType": "Block", - "src": "27293:124:31", - "statements": [ - { - "expression": { - "id": 6163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6158, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6156, - "src": "27303:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int112", - "typeString": "int112" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6161, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6153, - "src": "27323:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27316:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int112_$", - "typeString": "type(int112)" - }, - "typeName": { - "id": 6159, - "name": "int112", - "nodeType": "ElementaryTypeName", - "src": "27316:6:31", - "typeDescriptions": {} - } - }, - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27316:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int112", - "typeString": "int112" - } - }, - "src": "27303:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int112", - "typeString": "int112" - } - }, - "id": 6164, - "nodeType": "ExpressionStatement", - "src": "27303:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6166, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6156, - "src": "27347:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int112", - "typeString": "int112" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6167, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6153, - "src": "27361:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "27347:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203131322062697473", - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27368:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd", - "typeString": "literal_string \"SafeCast: value doesn't fit in 112 bits\"" - }, - "value": "SafeCast: value doesn't fit in 112 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd", - "typeString": "literal_string \"SafeCast: value doesn't fit in 112 bits\"" - } - ], - "id": 6165, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "27339:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27339:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6171, - "nodeType": "ExpressionStatement", - "src": "27339:71:31" - } - ] - }, - "documentation": { - "id": 6151, - "nodeType": "StructuredDocumentation", - "src": "26864:350:31", - "text": " @dev Returns the downcasted int112 from int256, reverting on\n overflow (when the input is less than smallest int112 or\n greater than largest int112).\n Counterpart to Solidity's `int112` operator.\n Requirements:\n - input must fit into 112 bits\n _Available since v4.7._" - }, - "id": 6173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt112", - "nameLocation": "27228:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6153, - "mutability": "mutable", - "name": "value", - "nameLocation": "27244:5:31", - "nodeType": "VariableDeclaration", - "scope": 6173, - "src": "27237:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6152, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "27237:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "27236:14:31" - }, - "returnParameters": { - "id": 6157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6156, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "27281:10:31", - "nodeType": "VariableDeclaration", - "scope": 6173, - "src": "27274:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int112", - "typeString": "int112" - }, - "typeName": { - "id": 6155, - "name": "int112", - "nodeType": "ElementaryTypeName", - "src": "27274:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int112", - "typeString": "int112" - } - }, - "visibility": "internal" - } - ], - "src": "27273:19:31" - }, - "scope": 6501, - "src": "27219:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6195, - "nodeType": "Block", - "src": "27852:124:31", - "statements": [ - { - "expression": { - "id": 6186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6181, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6179, - "src": "27862:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int104", - "typeString": "int104" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6184, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6176, - "src": "27882:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27875:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int104_$", - "typeString": "type(int104)" - }, - "typeName": { - "id": 6182, - "name": "int104", - "nodeType": "ElementaryTypeName", - "src": "27875:6:31", - "typeDescriptions": {} - } - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27875:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int104", - "typeString": "int104" - } - }, - "src": "27862:26:31", - "typeDescriptions": { - "typeIdentifier": "t_int104", - "typeString": "int104" - } - }, - "id": 6187, - "nodeType": "ExpressionStatement", - "src": "27862:26:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6189, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6179, - "src": "27906:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int104", - "typeString": "int104" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6190, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6176, - "src": "27920:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "27906:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e203130342062697473", - "id": 6192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27927:41:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981", - "typeString": "literal_string \"SafeCast: value doesn't fit in 104 bits\"" - }, - "value": "SafeCast: value doesn't fit in 104 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981", - "typeString": "literal_string \"SafeCast: value doesn't fit in 104 bits\"" - } - ], - "id": 6188, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "27898:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27898:71:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6194, - "nodeType": "ExpressionStatement", - "src": "27898:71:31" - } - ] - }, - "documentation": { - "id": 6174, - "nodeType": "StructuredDocumentation", - "src": "27423:350:31", - "text": " @dev Returns the downcasted int104 from int256, reverting on\n overflow (when the input is less than smallest int104 or\n greater than largest int104).\n Counterpart to Solidity's `int104` operator.\n Requirements:\n - input must fit into 104 bits\n _Available since v4.7._" - }, - "id": 6196, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt104", - "nameLocation": "27787:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6176, - "mutability": "mutable", - "name": "value", - "nameLocation": "27803:5:31", - "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "27796:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6175, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "27796:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "27795:14:31" - }, - "returnParameters": { - "id": 6180, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6179, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "27840:10:31", - "nodeType": "VariableDeclaration", - "scope": 6196, - "src": "27833:17:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int104", - "typeString": "int104" - }, - "typeName": { - "id": 6178, - "name": "int104", - "nodeType": "ElementaryTypeName", - "src": "27833:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int104", - "typeString": "int104" - } - }, - "visibility": "internal" - } - ], - "src": "27832:19:31" - }, - "scope": 6501, - "src": "27778:198:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6218, - "nodeType": "Block", - "src": "28404:122:31", - "statements": [ - { - "expression": { - "id": 6209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6204, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6202, - "src": "28414:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int96", - "typeString": "int96" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6207, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6199, - "src": "28433:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "28427:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int96_$", - "typeString": "type(int96)" - }, - "typeName": { - "id": 6205, - "name": "int96", - "nodeType": "ElementaryTypeName", - "src": "28427:5:31", - "typeDescriptions": {} - } - }, - "id": 6208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28427:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int96", - "typeString": "int96" - } - }, - "src": "28414:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int96", - "typeString": "int96" - } - }, - "id": 6210, - "nodeType": "ExpressionStatement", - "src": "28414:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6212, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6202, - "src": "28457:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int96", - "typeString": "int96" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6213, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6199, - "src": "28471:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "28457:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2039362062697473", - "id": 6215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "28478:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 96 bits\"" - }, - "value": "SafeCast: value doesn't fit in 96 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 96 bits\"" - } - ], - "id": 6211, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "28449:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28449:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6217, - "nodeType": "ExpressionStatement", - "src": "28449:70:31" - } - ] - }, - "documentation": { - "id": 6197, - "nodeType": "StructuredDocumentation", - "src": "27982:345:31", - "text": " @dev Returns the downcasted int96 from int256, reverting on\n overflow (when the input is less than smallest int96 or\n greater than largest int96).\n Counterpart to Solidity's `int96` operator.\n Requirements:\n - input must fit into 96 bits\n _Available since v4.7._" - }, - "id": 6219, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt96", - "nameLocation": "28341:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6199, - "mutability": "mutable", - "name": "value", - "nameLocation": "28356:5:31", - "nodeType": "VariableDeclaration", - "scope": 6219, - "src": "28349:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6198, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "28349:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "28348:14:31" - }, - "returnParameters": { - "id": 6203, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6202, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "28392:10:31", - "nodeType": "VariableDeclaration", - "scope": 6219, - "src": "28386:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int96", - "typeString": "int96" - }, - "typeName": { - "id": 6201, - "name": "int96", - "nodeType": "ElementaryTypeName", - "src": "28386:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int96", - "typeString": "int96" - } - }, - "visibility": "internal" - } - ], - "src": "28385:18:31" - }, - "scope": 6501, - "src": "28332:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6241, - "nodeType": "Block", - "src": "28954:122:31", - "statements": [ - { - "expression": { - "id": 6232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6227, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6225, - "src": "28964:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int88", - "typeString": "int88" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6230, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "28983:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "28977:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int88_$", - "typeString": "type(int88)" - }, - "typeName": { - "id": 6228, - "name": "int88", - "nodeType": "ElementaryTypeName", - "src": "28977:5:31", - "typeDescriptions": {} - } - }, - "id": 6231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28977:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int88", - "typeString": "int88" - } - }, - "src": "28964:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int88", - "typeString": "int88" - } - }, - "id": 6233, - "nodeType": "ExpressionStatement", - "src": "28964:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6235, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6225, - "src": "29007:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int88", - "typeString": "int88" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6236, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "29021:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "29007:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2038382062697473", - "id": 6238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29028:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 88 bits\"" - }, - "value": "SafeCast: value doesn't fit in 88 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d", - "typeString": "literal_string \"SafeCast: value doesn't fit in 88 bits\"" - } - ], - "id": 6234, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "28999:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28999:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6240, - "nodeType": "ExpressionStatement", - "src": "28999:70:31" - } - ] - }, - "documentation": { - "id": 6220, - "nodeType": "StructuredDocumentation", - "src": "28532:345:31", - "text": " @dev Returns the downcasted int88 from int256, reverting on\n overflow (when the input is less than smallest int88 or\n greater than largest int88).\n Counterpart to Solidity's `int88` operator.\n Requirements:\n - input must fit into 88 bits\n _Available since v4.7._" - }, - "id": 6242, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt88", - "nameLocation": "28891:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6222, - "mutability": "mutable", - "name": "value", - "nameLocation": "28906:5:31", - "nodeType": "VariableDeclaration", - "scope": 6242, - "src": "28899:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6221, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "28899:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "28898:14:31" - }, - "returnParameters": { - "id": 6226, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6225, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "28942:10:31", - "nodeType": "VariableDeclaration", - "scope": 6242, - "src": "28936:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int88", - "typeString": "int88" - }, - "typeName": { - "id": 6224, - "name": "int88", - "nodeType": "ElementaryTypeName", - "src": "28936:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int88", - "typeString": "int88" - } - }, - "visibility": "internal" - } - ], - "src": "28935:18:31" - }, - "scope": 6501, - "src": "28882:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6264, - "nodeType": "Block", - "src": "29504:122:31", - "statements": [ - { - "expression": { - "id": 6255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6250, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6248, - "src": "29514:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int80", - "typeString": "int80" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6253, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6245, - "src": "29533:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "29527:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int80_$", - "typeString": "type(int80)" - }, - "typeName": { - "id": 6251, - "name": "int80", - "nodeType": "ElementaryTypeName", - "src": "29527:5:31", - "typeDescriptions": {} - } - }, - "id": 6254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29527:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int80", - "typeString": "int80" - } - }, - "src": "29514:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int80", - "typeString": "int80" - } - }, - "id": 6256, - "nodeType": "ExpressionStatement", - "src": "29514:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6258, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6248, - "src": "29557:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int80", - "typeString": "int80" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6259, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6245, - "src": "29571:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "29557:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2038302062697473", - "id": 6261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29578:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 80 bits\"" - }, - "value": "SafeCast: value doesn't fit in 80 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 80 bits\"" - } - ], - "id": 6257, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "29549:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29549:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6263, - "nodeType": "ExpressionStatement", - "src": "29549:70:31" - } - ] - }, - "documentation": { - "id": 6243, - "nodeType": "StructuredDocumentation", - "src": "29082:345:31", - "text": " @dev Returns the downcasted int80 from int256, reverting on\n overflow (when the input is less than smallest int80 or\n greater than largest int80).\n Counterpart to Solidity's `int80` operator.\n Requirements:\n - input must fit into 80 bits\n _Available since v4.7._" - }, - "id": 6265, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt80", - "nameLocation": "29441:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6245, - "mutability": "mutable", - "name": "value", - "nameLocation": "29456:5:31", - "nodeType": "VariableDeclaration", - "scope": 6265, - "src": "29449:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6244, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "29449:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "29448:14:31" - }, - "returnParameters": { - "id": 6249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6248, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "29492:10:31", - "nodeType": "VariableDeclaration", - "scope": 6265, - "src": "29486:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int80", - "typeString": "int80" - }, - "typeName": { - "id": 6247, - "name": "int80", - "nodeType": "ElementaryTypeName", - "src": "29486:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int80", - "typeString": "int80" - } - }, - "visibility": "internal" - } - ], - "src": "29485:18:31" - }, - "scope": 6501, - "src": "29432:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6287, - "nodeType": "Block", - "src": "30054:122:31", - "statements": [ - { - "expression": { - "id": 6278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6273, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6271, - "src": "30064:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int72", - "typeString": "int72" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6276, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6268, - "src": "30083:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30077:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int72_$", - "typeString": "type(int72)" - }, - "typeName": { - "id": 6274, - "name": "int72", - "nodeType": "ElementaryTypeName", - "src": "30077:5:31", - "typeDescriptions": {} - } - }, - "id": 6277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30077:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int72", - "typeString": "int72" - } - }, - "src": "30064:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int72", - "typeString": "int72" - } - }, - "id": 6279, - "nodeType": "ExpressionStatement", - "src": "30064:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6281, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6271, - "src": "30107:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int72", - "typeString": "int72" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6282, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6268, - "src": "30121:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "30107:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2037322062697473", - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30128:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606", - "typeString": "literal_string \"SafeCast: value doesn't fit in 72 bits\"" - }, - "value": "SafeCast: value doesn't fit in 72 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606", - "typeString": "literal_string \"SafeCast: value doesn't fit in 72 bits\"" - } - ], - "id": 6280, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "30099:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30099:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6286, - "nodeType": "ExpressionStatement", - "src": "30099:70:31" - } - ] - }, - "documentation": { - "id": 6266, - "nodeType": "StructuredDocumentation", - "src": "29632:345:31", - "text": " @dev Returns the downcasted int72 from int256, reverting on\n overflow (when the input is less than smallest int72 or\n greater than largest int72).\n Counterpart to Solidity's `int72` operator.\n Requirements:\n - input must fit into 72 bits\n _Available since v4.7._" - }, - "id": 6288, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt72", - "nameLocation": "29991:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6268, - "mutability": "mutable", - "name": "value", - "nameLocation": "30006:5:31", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "29999:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6267, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "29999:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "29998:14:31" - }, - "returnParameters": { - "id": 6272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6271, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "30042:10:31", - "nodeType": "VariableDeclaration", - "scope": 6288, - "src": "30036:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int72", - "typeString": "int72" - }, - "typeName": { - "id": 6270, - "name": "int72", - "nodeType": "ElementaryTypeName", - "src": "30036:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int72", - "typeString": "int72" - } - }, - "visibility": "internal" - } - ], - "src": "30035:18:31" - }, - "scope": 6501, - "src": "29982:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6310, - "nodeType": "Block", - "src": "30604:122:31", - "statements": [ - { - "expression": { - "id": 6301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6296, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "30614:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int64", - "typeString": "int64" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6299, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6291, - "src": "30633:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "30627:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int64_$", - "typeString": "type(int64)" - }, - "typeName": { - "id": 6297, - "name": "int64", - "nodeType": "ElementaryTypeName", - "src": "30627:5:31", - "typeDescriptions": {} - } - }, - "id": 6300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30627:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int64", - "typeString": "int64" - } - }, - "src": "30614:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int64", - "typeString": "int64" - } - }, - "id": 6302, - "nodeType": "ExpressionStatement", - "src": "30614:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6304, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "30657:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int64", - "typeString": "int64" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6305, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6291, - "src": "30671:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "30657:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473", - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30678:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939", - "typeString": "literal_string \"SafeCast: value doesn't fit in 64 bits\"" - }, - "value": "SafeCast: value doesn't fit in 64 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939", - "typeString": "literal_string \"SafeCast: value doesn't fit in 64 bits\"" - } - ], - "id": 6303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "30649:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30649:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6309, - "nodeType": "ExpressionStatement", - "src": "30649:70:31" - } - ] - }, - "documentation": { - "id": 6289, - "nodeType": "StructuredDocumentation", - "src": "30182:345:31", - "text": " @dev Returns the downcasted int64 from int256, reverting on\n overflow (when the input is less than smallest int64 or\n greater than largest int64).\n Counterpart to Solidity's `int64` operator.\n Requirements:\n - input must fit into 64 bits\n _Available since v3.1._" - }, - "id": 6311, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt64", - "nameLocation": "30541:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6291, - "mutability": "mutable", - "name": "value", - "nameLocation": "30556:5:31", - "nodeType": "VariableDeclaration", - "scope": 6311, - "src": "30549:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6290, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "30549:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "30548:14:31" - }, - "returnParameters": { - "id": 6295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6294, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "30592:10:31", - "nodeType": "VariableDeclaration", - "scope": 6311, - "src": "30586:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int64", - "typeString": "int64" - }, - "typeName": { - "id": 6293, - "name": "int64", - "nodeType": "ElementaryTypeName", - "src": "30586:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int64", - "typeString": "int64" - } - }, - "visibility": "internal" - } - ], - "src": "30585:18:31" - }, - "scope": 6501, - "src": "30532:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6333, - "nodeType": "Block", - "src": "31154:122:31", - "statements": [ - { - "expression": { - "id": 6324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6319, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6317, - "src": "31164:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int56", - "typeString": "int56" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6322, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "31183:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31177:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int56_$", - "typeString": "type(int56)" - }, - "typeName": { - "id": 6320, - "name": "int56", - "nodeType": "ElementaryTypeName", - "src": "31177:5:31", - "typeDescriptions": {} - } - }, - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31177:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int56", - "typeString": "int56" - } - }, - "src": "31164:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int56", - "typeString": "int56" - } - }, - "id": 6325, - "nodeType": "ExpressionStatement", - "src": "31164:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6327, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6317, - "src": "31207:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int56", - "typeString": "int56" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6328, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "31221:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "31207:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2035362062697473", - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31228:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5", - "typeString": "literal_string \"SafeCast: value doesn't fit in 56 bits\"" - }, - "value": "SafeCast: value doesn't fit in 56 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5", - "typeString": "literal_string \"SafeCast: value doesn't fit in 56 bits\"" - } - ], - "id": 6326, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "31199:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31199:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6332, - "nodeType": "ExpressionStatement", - "src": "31199:70:31" - } - ] - }, - "documentation": { - "id": 6312, - "nodeType": "StructuredDocumentation", - "src": "30732:345:31", - "text": " @dev Returns the downcasted int56 from int256, reverting on\n overflow (when the input is less than smallest int56 or\n greater than largest int56).\n Counterpart to Solidity's `int56` operator.\n Requirements:\n - input must fit into 56 bits\n _Available since v4.7._" - }, - "id": 6334, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt56", - "nameLocation": "31091:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6315, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6314, - "mutability": "mutable", - "name": "value", - "nameLocation": "31106:5:31", - "nodeType": "VariableDeclaration", - "scope": 6334, - "src": "31099:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6313, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "31099:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "31098:14:31" - }, - "returnParameters": { - "id": 6318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6317, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "31142:10:31", - "nodeType": "VariableDeclaration", - "scope": 6334, - "src": "31136:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int56", - "typeString": "int56" - }, - "typeName": { - "id": 6316, - "name": "int56", - "nodeType": "ElementaryTypeName", - "src": "31136:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int56", - "typeString": "int56" - } - }, - "visibility": "internal" - } - ], - "src": "31135:18:31" - }, - "scope": 6501, - "src": "31082:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6356, - "nodeType": "Block", - "src": "31704:122:31", - "statements": [ - { - "expression": { - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6342, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6340, - "src": "31714:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int48", - "typeString": "int48" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6345, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6337, - "src": "31733:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "31727:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int48_$", - "typeString": "type(int48)" - }, - "typeName": { - "id": 6343, - "name": "int48", - "nodeType": "ElementaryTypeName", - "src": "31727:5:31", - "typeDescriptions": {} - } - }, - "id": 6346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31727:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int48", - "typeString": "int48" - } - }, - "src": "31714:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int48", - "typeString": "int48" - } - }, - "id": 6348, - "nodeType": "ExpressionStatement", - "src": "31714:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6350, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6340, - "src": "31757:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int48", - "typeString": "int48" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6351, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6337, - "src": "31771:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "31757:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2034382062697473", - "id": 6353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31778:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495", - "typeString": "literal_string \"SafeCast: value doesn't fit in 48 bits\"" - }, - "value": "SafeCast: value doesn't fit in 48 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495", - "typeString": "literal_string \"SafeCast: value doesn't fit in 48 bits\"" - } - ], - "id": 6349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "31749:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31749:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6355, - "nodeType": "ExpressionStatement", - "src": "31749:70:31" - } - ] - }, - "documentation": { - "id": 6335, - "nodeType": "StructuredDocumentation", - "src": "31282:345:31", - "text": " @dev Returns the downcasted int48 from int256, reverting on\n overflow (when the input is less than smallest int48 or\n greater than largest int48).\n Counterpart to Solidity's `int48` operator.\n Requirements:\n - input must fit into 48 bits\n _Available since v4.7._" - }, - "id": 6357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt48", - "nameLocation": "31641:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6337, - "mutability": "mutable", - "name": "value", - "nameLocation": "31656:5:31", - "nodeType": "VariableDeclaration", - "scope": 6357, - "src": "31649:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6336, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "31649:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "31648:14:31" - }, - "returnParameters": { - "id": 6341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6340, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "31692:10:31", - "nodeType": "VariableDeclaration", - "scope": 6357, - "src": "31686:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int48", - "typeString": "int48" - }, - "typeName": { - "id": 6339, - "name": "int48", - "nodeType": "ElementaryTypeName", - "src": "31686:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int48", - "typeString": "int48" - } - }, - "visibility": "internal" - } - ], - "src": "31685:18:31" - }, - "scope": 6501, - "src": "31632:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6379, - "nodeType": "Block", - "src": "32254:122:31", - "statements": [ - { - "expression": { - "id": 6370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6365, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6363, - "src": "32264:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int40", - "typeString": "int40" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6368, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6360, - "src": "32283:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32277:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int40_$", - "typeString": "type(int40)" - }, - "typeName": { - "id": 6366, - "name": "int40", - "nodeType": "ElementaryTypeName", - "src": "32277:5:31", - "typeDescriptions": {} - } - }, - "id": 6369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32277:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int40", - "typeString": "int40" - } - }, - "src": "32264:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int40", - "typeString": "int40" - } - }, - "id": 6371, - "nodeType": "ExpressionStatement", - "src": "32264:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6373, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6363, - "src": "32307:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int40", - "typeString": "int40" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6374, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6360, - "src": "32321:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "32307:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2034302062697473", - "id": 6376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32328:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37", - "typeString": "literal_string \"SafeCast: value doesn't fit in 40 bits\"" - }, - "value": "SafeCast: value doesn't fit in 40 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37", - "typeString": "literal_string \"SafeCast: value doesn't fit in 40 bits\"" - } - ], - "id": 6372, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "32299:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32299:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6378, - "nodeType": "ExpressionStatement", - "src": "32299:70:31" - } - ] - }, - "documentation": { - "id": 6358, - "nodeType": "StructuredDocumentation", - "src": "31832:345:31", - "text": " @dev Returns the downcasted int40 from int256, reverting on\n overflow (when the input is less than smallest int40 or\n greater than largest int40).\n Counterpart to Solidity's `int40` operator.\n Requirements:\n - input must fit into 40 bits\n _Available since v4.7._" - }, - "id": 6380, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt40", - "nameLocation": "32191:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6360, - "mutability": "mutable", - "name": "value", - "nameLocation": "32206:5:31", - "nodeType": "VariableDeclaration", - "scope": 6380, - "src": "32199:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6359, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32199:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "32198:14:31" - }, - "returnParameters": { - "id": 6364, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6363, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "32242:10:31", - "nodeType": "VariableDeclaration", - "scope": 6380, - "src": "32236:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int40", - "typeString": "int40" - }, - "typeName": { - "id": 6362, - "name": "int40", - "nodeType": "ElementaryTypeName", - "src": "32236:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int40", - "typeString": "int40" - } - }, - "visibility": "internal" - } - ], - "src": "32235:18:31" - }, - "scope": 6501, - "src": "32182:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6402, - "nodeType": "Block", - "src": "32804:122:31", - "statements": [ - { - "expression": { - "id": 6393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6388, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6386, - "src": "32814:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6391, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6383, - "src": "32833:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32827:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int32_$", - "typeString": "type(int32)" - }, - "typeName": { - "id": 6389, - "name": "int32", - "nodeType": "ElementaryTypeName", - "src": "32827:5:31", - "typeDescriptions": {} - } - }, - "id": 6392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32827:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - } - }, - "src": "32814:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - } - }, - "id": 6394, - "nodeType": "ExpressionStatement", - "src": "32814:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6396, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6386, - "src": "32857:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6383, - "src": "32871:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "32857:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2033322062697473", - "id": 6399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32878:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 32 bits\"" - }, - "value": "SafeCast: value doesn't fit in 32 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19", - "typeString": "literal_string \"SafeCast: value doesn't fit in 32 bits\"" - } - ], - "id": 6395, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "32849:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32849:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6401, - "nodeType": "ExpressionStatement", - "src": "32849:70:31" - } - ] - }, - "documentation": { - "id": 6381, - "nodeType": "StructuredDocumentation", - "src": "32382:345:31", - "text": " @dev Returns the downcasted int32 from int256, reverting on\n overflow (when the input is less than smallest int32 or\n greater than largest int32).\n Counterpart to Solidity's `int32` operator.\n Requirements:\n - input must fit into 32 bits\n _Available since v3.1._" - }, - "id": 6403, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt32", - "nameLocation": "32741:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6383, - "mutability": "mutable", - "name": "value", - "nameLocation": "32756:5:31", - "nodeType": "VariableDeclaration", - "scope": 6403, - "src": "32749:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6382, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32749:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "32748:14:31" - }, - "returnParameters": { - "id": 6387, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6386, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "32792:10:31", - "nodeType": "VariableDeclaration", - "scope": 6403, - "src": "32786:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - }, - "typeName": { - "id": 6385, - "name": "int32", - "nodeType": "ElementaryTypeName", - "src": "32786:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - } - }, - "visibility": "internal" - } - ], - "src": "32785:18:31" - }, - "scope": 6501, - "src": "32732:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6425, - "nodeType": "Block", - "src": "33354:122:31", - "statements": [ - { - "expression": { - "id": 6416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6411, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6409, - "src": "33364:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int24", - "typeString": "int24" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6414, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "33383:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33377:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int24_$", - "typeString": "type(int24)" - }, - "typeName": { - "id": 6412, - "name": "int24", - "nodeType": "ElementaryTypeName", - "src": "33377:5:31", - "typeDescriptions": {} - } - }, - "id": 6415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33377:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int24", - "typeString": "int24" - } - }, - "src": "33364:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int24", - "typeString": "int24" - } - }, - "id": 6417, - "nodeType": "ExpressionStatement", - "src": "33364:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6419, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6409, - "src": "33407:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int24", - "typeString": "int24" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6420, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6406, - "src": "33421:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "33407:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473", - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33428:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55", - "typeString": "literal_string \"SafeCast: value doesn't fit in 24 bits\"" - }, - "value": "SafeCast: value doesn't fit in 24 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55", - "typeString": "literal_string \"SafeCast: value doesn't fit in 24 bits\"" - } - ], - "id": 6418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "33399:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33399:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6424, - "nodeType": "ExpressionStatement", - "src": "33399:70:31" - } - ] - }, - "documentation": { - "id": 6404, - "nodeType": "StructuredDocumentation", - "src": "32932:345:31", - "text": " @dev Returns the downcasted int24 from int256, reverting on\n overflow (when the input is less than smallest int24 or\n greater than largest int24).\n Counterpart to Solidity's `int24` operator.\n Requirements:\n - input must fit into 24 bits\n _Available since v4.7._" - }, - "id": 6426, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt24", - "nameLocation": "33291:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6406, - "mutability": "mutable", - "name": "value", - "nameLocation": "33306:5:31", - "nodeType": "VariableDeclaration", - "scope": 6426, - "src": "33299:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6405, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "33299:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "33298:14:31" - }, - "returnParameters": { - "id": 6410, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6409, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "33342:10:31", - "nodeType": "VariableDeclaration", - "scope": 6426, - "src": "33336:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int24", - "typeString": "int24" - }, - "typeName": { - "id": 6408, - "name": "int24", - "nodeType": "ElementaryTypeName", - "src": "33336:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int24", - "typeString": "int24" - } - }, - "visibility": "internal" - } - ], - "src": "33335:18:31" - }, - "scope": 6501, - "src": "33282:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6448, - "nodeType": "Block", - "src": "33904:122:31", - "statements": [ - { - "expression": { - "id": 6439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6434, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6432, - "src": "33914:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int16", - "typeString": "int16" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6437, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6429, - "src": "33933:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "33927:5:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int16_$", - "typeString": "type(int16)" - }, - "typeName": { - "id": 6435, - "name": "int16", - "nodeType": "ElementaryTypeName", - "src": "33927:5:31", - "typeDescriptions": {} - } - }, - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33927:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int16", - "typeString": "int16" - } - }, - "src": "33914:25:31", - "typeDescriptions": { - "typeIdentifier": "t_int16", - "typeString": "int16" - } - }, - "id": 6440, - "nodeType": "ExpressionStatement", - "src": "33914:25:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6442, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6432, - "src": "33957:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int16", - "typeString": "int16" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6443, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6429, - "src": "33971:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "33957:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473", - "id": 6445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33978:40:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033", - "typeString": "literal_string \"SafeCast: value doesn't fit in 16 bits\"" - }, - "value": "SafeCast: value doesn't fit in 16 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033", - "typeString": "literal_string \"SafeCast: value doesn't fit in 16 bits\"" - } - ], - "id": 6441, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "33949:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33949:70:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6447, - "nodeType": "ExpressionStatement", - "src": "33949:70:31" - } - ] - }, - "documentation": { - "id": 6427, - "nodeType": "StructuredDocumentation", - "src": "33482:345:31", - "text": " @dev Returns the downcasted int16 from int256, reverting on\n overflow (when the input is less than smallest int16 or\n greater than largest int16).\n Counterpart to Solidity's `int16` operator.\n Requirements:\n - input must fit into 16 bits\n _Available since v3.1._" - }, - "id": 6449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt16", - "nameLocation": "33841:7:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6430, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6429, - "mutability": "mutable", - "name": "value", - "nameLocation": "33856:5:31", - "nodeType": "VariableDeclaration", - "scope": 6449, - "src": "33849:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6428, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "33849:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "33848:14:31" - }, - "returnParameters": { - "id": 6433, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6432, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "33892:10:31", - "nodeType": "VariableDeclaration", - "scope": 6449, - "src": "33886:16:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int16", - "typeString": "int16" - }, - "typeName": { - "id": 6431, - "name": "int16", - "nodeType": "ElementaryTypeName", - "src": "33886:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int16", - "typeString": "int16" - } - }, - "visibility": "internal" - } - ], - "src": "33885:18:31" - }, - "scope": 6501, - "src": "33832:194:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6471, - "nodeType": "Block", - "src": "34447:120:31", - "statements": [ - { - "expression": { - "id": 6462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6457, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6455, - "src": "34457:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int8", - "typeString": "int8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6460, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6452, - "src": "34475:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34470:4:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int8_$", - "typeString": "type(int8)" - }, - "typeName": { - "id": 6458, - "name": "int8", - "nodeType": "ElementaryTypeName", - "src": "34470:4:31", - "typeDescriptions": {} - } - }, - "id": 6461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34470:11:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int8", - "typeString": "int8" - } - }, - "src": "34457:24:31", - "typeDescriptions": { - "typeIdentifier": "t_int8", - "typeString": "int8" - } - }, - "id": 6463, - "nodeType": "ExpressionStatement", - "src": "34457:24:31" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 6467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6465, - "name": "downcasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6455, - "src": "34499:10:31", - "typeDescriptions": { - "typeIdentifier": "t_int8", - "typeString": "int8" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 6466, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6452, - "src": "34513:5:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "34499:19:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e20382062697473", - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34520:39:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 8 bits\"" - }, - "value": "SafeCast: value doesn't fit in 8 bits" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1", - "typeString": "literal_string \"SafeCast: value doesn't fit in 8 bits\"" - } - ], - "id": 6464, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "34491:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34491:69:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6470, - "nodeType": "ExpressionStatement", - "src": "34491:69:31" - } - ] - }, - "documentation": { - "id": 6450, - "nodeType": "StructuredDocumentation", - "src": "34032:340:31", - "text": " @dev Returns the downcasted int8 from int256, reverting on\n overflow (when the input is less than smallest int8 or\n greater than largest int8).\n Counterpart to Solidity's `int8` operator.\n Requirements:\n - input must fit into 8 bits\n _Available since v3.1._" - }, - "id": 6472, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt8", - "nameLocation": "34386:6:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6453, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6452, - "mutability": "mutable", - "name": "value", - "nameLocation": "34400:5:31", - "nodeType": "VariableDeclaration", - "scope": 6472, - "src": "34393:12:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6451, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "34393:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "34392:14:31" - }, - "returnParameters": { - "id": 6456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6455, - "mutability": "mutable", - "name": "downcasted", - "nameLocation": "34435:10:31", - "nodeType": "VariableDeclaration", - "scope": 6472, - "src": "34430:15:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int8", - "typeString": "int8" - }, - "typeName": { - "id": 6454, - "name": "int8", - "nodeType": "ElementaryTypeName", - "src": "34430:4:31", - "typeDescriptions": { - "typeIdentifier": "t_int8", - "typeString": "int8" - } - }, - "visibility": "internal" - } - ], - "src": "34429:17:31" - }, - "scope": 6501, - "src": "34377:190:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6499, - "nodeType": "Block", - "src": "34845:233:31", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6481, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "34962:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34984:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - }, - "typeName": { - "id": 6485, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "34984:6:31", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - } - ], - "id": 6484, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "34979:4:31", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6487, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34979:12:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_int256", - "typeString": "type(int256)" - } - }, - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "34992:3:31", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "34979:16:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "34971:7:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34971:7:31", - "typeDescriptions": {} - } - }, - "id": 6489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34971:25:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34962:34:31", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "53616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e74323536", - "id": 6491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34998:42:31", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d70dcf21692b3c91b4c5fbb89ed57f464aa42efbe5b0ea96c4acb7c080144227", - "typeString": "literal_string \"SafeCast: value doesn't fit in an int256\"" - }, - "value": "SafeCast: value doesn't fit in an int256" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d70dcf21692b3c91b4c5fbb89ed57f464aa42efbe5b0ea96c4acb7c080144227", - "typeString": "literal_string \"SafeCast: value doesn't fit in an int256\"" - } - ], - "id": 6480, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "34954:7:31", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "34954:87:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6493, - "nodeType": "ExpressionStatement", - "src": "34954:87:31" - }, - { - "expression": { - "arguments": [ - { - "id": 6496, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6475, - "src": "35065:5:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "35058:6:31", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - }, - "typeName": { - "id": 6494, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "35058:6:31", - "typeDescriptions": {} - } - }, - "id": 6497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35058:13:31", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 6479, - "id": 6498, - "nodeType": "Return", - "src": "35051:20:31" - } - ] - }, - "documentation": { - "id": 6473, - "nodeType": "StructuredDocumentation", - "src": "34573:203:31", - "text": " @dev Converts an unsigned uint256 into a signed int256.\n Requirements:\n - input must be less than or equal to maxInt256.\n _Available since v3.0._" - }, - "id": 6500, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toInt256", - "nameLocation": "34790:8:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6475, - "mutability": "mutable", - "name": "value", - "nameLocation": "34807:5:31", - "nodeType": "VariableDeclaration", - "scope": 6500, - "src": "34799:13:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "34799:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "34798:15:31" - }, - "returnParameters": { - "id": 6479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6478, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 6500, - "src": "34837:6:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 6477, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "34837:6:31", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "34836:8:31" - }, - "scope": 6501, - "src": "34781:297:31", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6502, - "src": "927:34153:31", - "usedErrors": [] - } - ], - "src": "192:34889:31" - }, - "bytecode": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209fd6072aab7eb908a91bf2080aa04a940f4b26811f8d0f88212f1d77e51e03b164736f6c63430008110033", - "bytecodeSha1": "1ce946f6a4eaa185320328620ccf999b9e86db7c", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "SafeCast", - "coverageMap": { - "branches": { - "31": {} - }, - "statements": { - "31": {} - } - }, - "dependencies": [], - "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209fd6072aab7eb908a91bf2080aa04a940f4b26811f8d0f88212f1d77e51e03b164736f6c63430008110033", - "deployedSourceMap": "927:34153:31:-:0;;;;;;;;", - "language": "Solidity", - "natspec": { - "details": "Wrappers over Solidity's uintXX/intXX casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always. Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing all math on `uint256` and `int256` and then downcasting.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "offset": [ - 927, - 35080 - ], - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP16 0xD6 SMOD 0x2A 0xAB PUSH31 0xB908A91BF2080AA04A940F4B26811F8D0F88212F1D77E51E03B164736F6C63 NUMBER STOP ADDMOD GT STOP CALLER ", - "pcMap": { - "0": { - "offset": [ - 927, - 35080 - ], - "op": "PUSH20", - "path": "31", - "value": "0x0" - }, - "21": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "ADDRESS", - "path": "31" - }, - "22": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "EQ", - "path": "31" - }, - "23": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "PUSH1", - "path": "31", - "value": "0x80" - }, - "25": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "PUSH1", - "path": "31", - "value": "0x40" - }, - "27": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "MSTORE", - "path": "31" - }, - "28": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "PUSH1", - "path": "31", - "value": "0x0" - }, - "30": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "DUP1", - "path": "31" - }, - "31": { - "fn": null, - "offset": [ - 927, - 35080 - ], - "op": "REVERT", - "path": "31" - } - }, - "sha1": "7dbc935f4d5e74b130dc75492c4a81d516b96cb1", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SafeCast.sol)\n// This file was procedurally generated from scripts/generate/templates/SafeCast.js.\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow\n * checks.\n *\n * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n * easily result in undesired exploitation or bugs, since developers usually\n * assume that overflows raise errors. `SafeCast` restores this intuition by\n * reverting the transaction when such an operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n *\n * Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing\n * all math on `uint256` and `int256` and then downcasting.\n */\nlibrary SafeCast {\n /**\n * @dev Returns the downcasted uint248 from uint256, reverting on\n * overflow (when the input is greater than largest uint248).\n *\n * Counterpart to Solidity's `uint248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n *\n * _Available since v4.7._\n */\n function toUint248(uint256 value) internal pure returns (uint248) {\n require(value <= type(uint248).max, \"SafeCast: value doesn't fit in 248 bits\");\n return uint248(value);\n }\n\n /**\n * @dev Returns the downcasted uint240 from uint256, reverting on\n * overflow (when the input is greater than largest uint240).\n *\n * Counterpart to Solidity's `uint240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n *\n * _Available since v4.7._\n */\n function toUint240(uint256 value) internal pure returns (uint240) {\n require(value <= type(uint240).max, \"SafeCast: value doesn't fit in 240 bits\");\n return uint240(value);\n }\n\n /**\n * @dev Returns the downcasted uint232 from uint256, reverting on\n * overflow (when the input is greater than largest uint232).\n *\n * Counterpart to Solidity's `uint232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n *\n * _Available since v4.7._\n */\n function toUint232(uint256 value) internal pure returns (uint232) {\n require(value <= type(uint232).max, \"SafeCast: value doesn't fit in 232 bits\");\n return uint232(value);\n }\n\n /**\n * @dev Returns the downcasted uint224 from uint256, reverting on\n * overflow (when the input is greater than largest uint224).\n *\n * Counterpart to Solidity's `uint224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n *\n * _Available since v4.2._\n */\n function toUint224(uint256 value) internal pure returns (uint224) {\n require(value <= type(uint224).max, \"SafeCast: value doesn't fit in 224 bits\");\n return uint224(value);\n }\n\n /**\n * @dev Returns the downcasted uint216 from uint256, reverting on\n * overflow (when the input is greater than largest uint216).\n *\n * Counterpart to Solidity's `uint216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n *\n * _Available since v4.7._\n */\n function toUint216(uint256 value) internal pure returns (uint216) {\n require(value <= type(uint216).max, \"SafeCast: value doesn't fit in 216 bits\");\n return uint216(value);\n }\n\n /**\n * @dev Returns the downcasted uint208 from uint256, reverting on\n * overflow (when the input is greater than largest uint208).\n *\n * Counterpart to Solidity's `uint208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n *\n * _Available since v4.7._\n */\n function toUint208(uint256 value) internal pure returns (uint208) {\n require(value <= type(uint208).max, \"SafeCast: value doesn't fit in 208 bits\");\n return uint208(value);\n }\n\n /**\n * @dev Returns the downcasted uint200 from uint256, reverting on\n * overflow (when the input is greater than largest uint200).\n *\n * Counterpart to Solidity's `uint200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n *\n * _Available since v4.7._\n */\n function toUint200(uint256 value) internal pure returns (uint200) {\n require(value <= type(uint200).max, \"SafeCast: value doesn't fit in 200 bits\");\n return uint200(value);\n }\n\n /**\n * @dev Returns the downcasted uint192 from uint256, reverting on\n * overflow (when the input is greater than largest uint192).\n *\n * Counterpart to Solidity's `uint192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n *\n * _Available since v4.7._\n */\n function toUint192(uint256 value) internal pure returns (uint192) {\n require(value <= type(uint192).max, \"SafeCast: value doesn't fit in 192 bits\");\n return uint192(value);\n }\n\n /**\n * @dev Returns the downcasted uint184 from uint256, reverting on\n * overflow (when the input is greater than largest uint184).\n *\n * Counterpart to Solidity's `uint184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n *\n * _Available since v4.7._\n */\n function toUint184(uint256 value) internal pure returns (uint184) {\n require(value <= type(uint184).max, \"SafeCast: value doesn't fit in 184 bits\");\n return uint184(value);\n }\n\n /**\n * @dev Returns the downcasted uint176 from uint256, reverting on\n * overflow (when the input is greater than largest uint176).\n *\n * Counterpart to Solidity's `uint176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n *\n * _Available since v4.7._\n */\n function toUint176(uint256 value) internal pure returns (uint176) {\n require(value <= type(uint176).max, \"SafeCast: value doesn't fit in 176 bits\");\n return uint176(value);\n }\n\n /**\n * @dev Returns the downcasted uint168 from uint256, reverting on\n * overflow (when the input is greater than largest uint168).\n *\n * Counterpart to Solidity's `uint168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n *\n * _Available since v4.7._\n */\n function toUint168(uint256 value) internal pure returns (uint168) {\n require(value <= type(uint168).max, \"SafeCast: value doesn't fit in 168 bits\");\n return uint168(value);\n }\n\n /**\n * @dev Returns the downcasted uint160 from uint256, reverting on\n * overflow (when the input is greater than largest uint160).\n *\n * Counterpart to Solidity's `uint160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n *\n * _Available since v4.7._\n */\n function toUint160(uint256 value) internal pure returns (uint160) {\n require(value <= type(uint160).max, \"SafeCast: value doesn't fit in 160 bits\");\n return uint160(value);\n }\n\n /**\n * @dev Returns the downcasted uint152 from uint256, reverting on\n * overflow (when the input is greater than largest uint152).\n *\n * Counterpart to Solidity's `uint152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n *\n * _Available since v4.7._\n */\n function toUint152(uint256 value) internal pure returns (uint152) {\n require(value <= type(uint152).max, \"SafeCast: value doesn't fit in 152 bits\");\n return uint152(value);\n }\n\n /**\n * @dev Returns the downcasted uint144 from uint256, reverting on\n * overflow (when the input is greater than largest uint144).\n *\n * Counterpart to Solidity's `uint144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n *\n * _Available since v4.7._\n */\n function toUint144(uint256 value) internal pure returns (uint144) {\n require(value <= type(uint144).max, \"SafeCast: value doesn't fit in 144 bits\");\n return uint144(value);\n }\n\n /**\n * @dev Returns the downcasted uint136 from uint256, reverting on\n * overflow (when the input is greater than largest uint136).\n *\n * Counterpart to Solidity's `uint136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n *\n * _Available since v4.7._\n */\n function toUint136(uint256 value) internal pure returns (uint136) {\n require(value <= type(uint136).max, \"SafeCast: value doesn't fit in 136 bits\");\n return uint136(value);\n }\n\n /**\n * @dev Returns the downcasted uint128 from uint256, reverting on\n * overflow (when the input is greater than largest uint128).\n *\n * Counterpart to Solidity's `uint128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n *\n * _Available since v2.5._\n */\n function toUint128(uint256 value) internal pure returns (uint128) {\n require(value <= type(uint128).max, \"SafeCast: value doesn't fit in 128 bits\");\n return uint128(value);\n }\n\n /**\n * @dev Returns the downcasted uint120 from uint256, reverting on\n * overflow (when the input is greater than largest uint120).\n *\n * Counterpart to Solidity's `uint120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n *\n * _Available since v4.7._\n */\n function toUint120(uint256 value) internal pure returns (uint120) {\n require(value <= type(uint120).max, \"SafeCast: value doesn't fit in 120 bits\");\n return uint120(value);\n }\n\n /**\n * @dev Returns the downcasted uint112 from uint256, reverting on\n * overflow (when the input is greater than largest uint112).\n *\n * Counterpart to Solidity's `uint112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n *\n * _Available since v4.7._\n */\n function toUint112(uint256 value) internal pure returns (uint112) {\n require(value <= type(uint112).max, \"SafeCast: value doesn't fit in 112 bits\");\n return uint112(value);\n }\n\n /**\n * @dev Returns the downcasted uint104 from uint256, reverting on\n * overflow (when the input is greater than largest uint104).\n *\n * Counterpart to Solidity's `uint104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n *\n * _Available since v4.7._\n */\n function toUint104(uint256 value) internal pure returns (uint104) {\n require(value <= type(uint104).max, \"SafeCast: value doesn't fit in 104 bits\");\n return uint104(value);\n }\n\n /**\n * @dev Returns the downcasted uint96 from uint256, reverting on\n * overflow (when the input is greater than largest uint96).\n *\n * Counterpart to Solidity's `uint96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n *\n * _Available since v4.2._\n */\n function toUint96(uint256 value) internal pure returns (uint96) {\n require(value <= type(uint96).max, \"SafeCast: value doesn't fit in 96 bits\");\n return uint96(value);\n }\n\n /**\n * @dev Returns the downcasted uint88 from uint256, reverting on\n * overflow (when the input is greater than largest uint88).\n *\n * Counterpart to Solidity's `uint88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n *\n * _Available since v4.7._\n */\n function toUint88(uint256 value) internal pure returns (uint88) {\n require(value <= type(uint88).max, \"SafeCast: value doesn't fit in 88 bits\");\n return uint88(value);\n }\n\n /**\n * @dev Returns the downcasted uint80 from uint256, reverting on\n * overflow (when the input is greater than largest uint80).\n *\n * Counterpart to Solidity's `uint80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n *\n * _Available since v4.7._\n */\n function toUint80(uint256 value) internal pure returns (uint80) {\n require(value <= type(uint80).max, \"SafeCast: value doesn't fit in 80 bits\");\n return uint80(value);\n }\n\n /**\n * @dev Returns the downcasted uint72 from uint256, reverting on\n * overflow (when the input is greater than largest uint72).\n *\n * Counterpart to Solidity's `uint72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n *\n * _Available since v4.7._\n */\n function toUint72(uint256 value) internal pure returns (uint72) {\n require(value <= type(uint72).max, \"SafeCast: value doesn't fit in 72 bits\");\n return uint72(value);\n }\n\n /**\n * @dev Returns the downcasted uint64 from uint256, reverting on\n * overflow (when the input is greater than largest uint64).\n *\n * Counterpart to Solidity's `uint64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n *\n * _Available since v2.5._\n */\n function toUint64(uint256 value) internal pure returns (uint64) {\n require(value <= type(uint64).max, \"SafeCast: value doesn't fit in 64 bits\");\n return uint64(value);\n }\n\n /**\n * @dev Returns the downcasted uint56 from uint256, reverting on\n * overflow (when the input is greater than largest uint56).\n *\n * Counterpart to Solidity's `uint56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n *\n * _Available since v4.7._\n */\n function toUint56(uint256 value) internal pure returns (uint56) {\n require(value <= type(uint56).max, \"SafeCast: value doesn't fit in 56 bits\");\n return uint56(value);\n }\n\n /**\n * @dev Returns the downcasted uint48 from uint256, reverting on\n * overflow (when the input is greater than largest uint48).\n *\n * Counterpart to Solidity's `uint48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n *\n * _Available since v4.7._\n */\n function toUint48(uint256 value) internal pure returns (uint48) {\n require(value <= type(uint48).max, \"SafeCast: value doesn't fit in 48 bits\");\n return uint48(value);\n }\n\n /**\n * @dev Returns the downcasted uint40 from uint256, reverting on\n * overflow (when the input is greater than largest uint40).\n *\n * Counterpart to Solidity's `uint40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n *\n * _Available since v4.7._\n */\n function toUint40(uint256 value) internal pure returns (uint40) {\n require(value <= type(uint40).max, \"SafeCast: value doesn't fit in 40 bits\");\n return uint40(value);\n }\n\n /**\n * @dev Returns the downcasted uint32 from uint256, reverting on\n * overflow (when the input is greater than largest uint32).\n *\n * Counterpart to Solidity's `uint32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n *\n * _Available since v2.5._\n */\n function toUint32(uint256 value) internal pure returns (uint32) {\n require(value <= type(uint32).max, \"SafeCast: value doesn't fit in 32 bits\");\n return uint32(value);\n }\n\n /**\n * @dev Returns the downcasted uint24 from uint256, reverting on\n * overflow (when the input is greater than largest uint24).\n *\n * Counterpart to Solidity's `uint24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n *\n * _Available since v4.7._\n */\n function toUint24(uint256 value) internal pure returns (uint24) {\n require(value <= type(uint24).max, \"SafeCast: value doesn't fit in 24 bits\");\n return uint24(value);\n }\n\n /**\n * @dev Returns the downcasted uint16 from uint256, reverting on\n * overflow (when the input is greater than largest uint16).\n *\n * Counterpart to Solidity's `uint16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n *\n * _Available since v2.5._\n */\n function toUint16(uint256 value) internal pure returns (uint16) {\n require(value <= type(uint16).max, \"SafeCast: value doesn't fit in 16 bits\");\n return uint16(value);\n }\n\n /**\n * @dev Returns the downcasted uint8 from uint256, reverting on\n * overflow (when the input is greater than largest uint8).\n *\n * Counterpart to Solidity's `uint8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n *\n * _Available since v2.5._\n */\n function toUint8(uint256 value) internal pure returns (uint8) {\n require(value <= type(uint8).max, \"SafeCast: value doesn't fit in 8 bits\");\n return uint8(value);\n }\n\n /**\n * @dev Converts a signed int256 into an unsigned uint256.\n *\n * Requirements:\n *\n * - input must be greater than or equal to 0.\n *\n * _Available since v3.0._\n */\n function toUint256(int256 value) internal pure returns (uint256) {\n require(value >= 0, \"SafeCast: value must be positive\");\n return uint256(value);\n }\n\n /**\n * @dev Returns the downcasted int248 from int256, reverting on\n * overflow (when the input is less than smallest int248 or\n * greater than largest int248).\n *\n * Counterpart to Solidity's `int248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n *\n * _Available since v4.7._\n */\n function toInt248(int256 value) internal pure returns (int248 downcasted) {\n downcasted = int248(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 248 bits\");\n }\n\n /**\n * @dev Returns the downcasted int240 from int256, reverting on\n * overflow (when the input is less than smallest int240 or\n * greater than largest int240).\n *\n * Counterpart to Solidity's `int240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n *\n * _Available since v4.7._\n */\n function toInt240(int256 value) internal pure returns (int240 downcasted) {\n downcasted = int240(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 240 bits\");\n }\n\n /**\n * @dev Returns the downcasted int232 from int256, reverting on\n * overflow (when the input is less than smallest int232 or\n * greater than largest int232).\n *\n * Counterpart to Solidity's `int232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n *\n * _Available since v4.7._\n */\n function toInt232(int256 value) internal pure returns (int232 downcasted) {\n downcasted = int232(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 232 bits\");\n }\n\n /**\n * @dev Returns the downcasted int224 from int256, reverting on\n * overflow (when the input is less than smallest int224 or\n * greater than largest int224).\n *\n * Counterpart to Solidity's `int224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n *\n * _Available since v4.7._\n */\n function toInt224(int256 value) internal pure returns (int224 downcasted) {\n downcasted = int224(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 224 bits\");\n }\n\n /**\n * @dev Returns the downcasted int216 from int256, reverting on\n * overflow (when the input is less than smallest int216 or\n * greater than largest int216).\n *\n * Counterpart to Solidity's `int216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n *\n * _Available since v4.7._\n */\n function toInt216(int256 value) internal pure returns (int216 downcasted) {\n downcasted = int216(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 216 bits\");\n }\n\n /**\n * @dev Returns the downcasted int208 from int256, reverting on\n * overflow (when the input is less than smallest int208 or\n * greater than largest int208).\n *\n * Counterpart to Solidity's `int208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n *\n * _Available since v4.7._\n */\n function toInt208(int256 value) internal pure returns (int208 downcasted) {\n downcasted = int208(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 208 bits\");\n }\n\n /**\n * @dev Returns the downcasted int200 from int256, reverting on\n * overflow (when the input is less than smallest int200 or\n * greater than largest int200).\n *\n * Counterpart to Solidity's `int200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n *\n * _Available since v4.7._\n */\n function toInt200(int256 value) internal pure returns (int200 downcasted) {\n downcasted = int200(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 200 bits\");\n }\n\n /**\n * @dev Returns the downcasted int192 from int256, reverting on\n * overflow (when the input is less than smallest int192 or\n * greater than largest int192).\n *\n * Counterpart to Solidity's `int192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n *\n * _Available since v4.7._\n */\n function toInt192(int256 value) internal pure returns (int192 downcasted) {\n downcasted = int192(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 192 bits\");\n }\n\n /**\n * @dev Returns the downcasted int184 from int256, reverting on\n * overflow (when the input is less than smallest int184 or\n * greater than largest int184).\n *\n * Counterpart to Solidity's `int184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n *\n * _Available since v4.7._\n */\n function toInt184(int256 value) internal pure returns (int184 downcasted) {\n downcasted = int184(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 184 bits\");\n }\n\n /**\n * @dev Returns the downcasted int176 from int256, reverting on\n * overflow (when the input is less than smallest int176 or\n * greater than largest int176).\n *\n * Counterpart to Solidity's `int176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n *\n * _Available since v4.7._\n */\n function toInt176(int256 value) internal pure returns (int176 downcasted) {\n downcasted = int176(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 176 bits\");\n }\n\n /**\n * @dev Returns the downcasted int168 from int256, reverting on\n * overflow (when the input is less than smallest int168 or\n * greater than largest int168).\n *\n * Counterpart to Solidity's `int168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n *\n * _Available since v4.7._\n */\n function toInt168(int256 value) internal pure returns (int168 downcasted) {\n downcasted = int168(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 168 bits\");\n }\n\n /**\n * @dev Returns the downcasted int160 from int256, reverting on\n * overflow (when the input is less than smallest int160 or\n * greater than largest int160).\n *\n * Counterpart to Solidity's `int160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n *\n * _Available since v4.7._\n */\n function toInt160(int256 value) internal pure returns (int160 downcasted) {\n downcasted = int160(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 160 bits\");\n }\n\n /**\n * @dev Returns the downcasted int152 from int256, reverting on\n * overflow (when the input is less than smallest int152 or\n * greater than largest int152).\n *\n * Counterpart to Solidity's `int152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n *\n * _Available since v4.7._\n */\n function toInt152(int256 value) internal pure returns (int152 downcasted) {\n downcasted = int152(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 152 bits\");\n }\n\n /**\n * @dev Returns the downcasted int144 from int256, reverting on\n * overflow (when the input is less than smallest int144 or\n * greater than largest int144).\n *\n * Counterpart to Solidity's `int144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n *\n * _Available since v4.7._\n */\n function toInt144(int256 value) internal pure returns (int144 downcasted) {\n downcasted = int144(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 144 bits\");\n }\n\n /**\n * @dev Returns the downcasted int136 from int256, reverting on\n * overflow (when the input is less than smallest int136 or\n * greater than largest int136).\n *\n * Counterpart to Solidity's `int136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n *\n * _Available since v4.7._\n */\n function toInt136(int256 value) internal pure returns (int136 downcasted) {\n downcasted = int136(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 136 bits\");\n }\n\n /**\n * @dev Returns the downcasted int128 from int256, reverting on\n * overflow (when the input is less than smallest int128 or\n * greater than largest int128).\n *\n * Counterpart to Solidity's `int128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n *\n * _Available since v3.1._\n */\n function toInt128(int256 value) internal pure returns (int128 downcasted) {\n downcasted = int128(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 128 bits\");\n }\n\n /**\n * @dev Returns the downcasted int120 from int256, reverting on\n * overflow (when the input is less than smallest int120 or\n * greater than largest int120).\n *\n * Counterpart to Solidity's `int120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n *\n * _Available since v4.7._\n */\n function toInt120(int256 value) internal pure returns (int120 downcasted) {\n downcasted = int120(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 120 bits\");\n }\n\n /**\n * @dev Returns the downcasted int112 from int256, reverting on\n * overflow (when the input is less than smallest int112 or\n * greater than largest int112).\n *\n * Counterpart to Solidity's `int112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n *\n * _Available since v4.7._\n */\n function toInt112(int256 value) internal pure returns (int112 downcasted) {\n downcasted = int112(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 112 bits\");\n }\n\n /**\n * @dev Returns the downcasted int104 from int256, reverting on\n * overflow (when the input is less than smallest int104 or\n * greater than largest int104).\n *\n * Counterpart to Solidity's `int104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n *\n * _Available since v4.7._\n */\n function toInt104(int256 value) internal pure returns (int104 downcasted) {\n downcasted = int104(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 104 bits\");\n }\n\n /**\n * @dev Returns the downcasted int96 from int256, reverting on\n * overflow (when the input is less than smallest int96 or\n * greater than largest int96).\n *\n * Counterpart to Solidity's `int96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n *\n * _Available since v4.7._\n */\n function toInt96(int256 value) internal pure returns (int96 downcasted) {\n downcasted = int96(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 96 bits\");\n }\n\n /**\n * @dev Returns the downcasted int88 from int256, reverting on\n * overflow (when the input is less than smallest int88 or\n * greater than largest int88).\n *\n * Counterpart to Solidity's `int88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n *\n * _Available since v4.7._\n */\n function toInt88(int256 value) internal pure returns (int88 downcasted) {\n downcasted = int88(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 88 bits\");\n }\n\n /**\n * @dev Returns the downcasted int80 from int256, reverting on\n * overflow (when the input is less than smallest int80 or\n * greater than largest int80).\n *\n * Counterpart to Solidity's `int80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n *\n * _Available since v4.7._\n */\n function toInt80(int256 value) internal pure returns (int80 downcasted) {\n downcasted = int80(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 80 bits\");\n }\n\n /**\n * @dev Returns the downcasted int72 from int256, reverting on\n * overflow (when the input is less than smallest int72 or\n * greater than largest int72).\n *\n * Counterpart to Solidity's `int72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n *\n * _Available since v4.7._\n */\n function toInt72(int256 value) internal pure returns (int72 downcasted) {\n downcasted = int72(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 72 bits\");\n }\n\n /**\n * @dev Returns the downcasted int64 from int256, reverting on\n * overflow (when the input is less than smallest int64 or\n * greater than largest int64).\n *\n * Counterpart to Solidity's `int64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n *\n * _Available since v3.1._\n */\n function toInt64(int256 value) internal pure returns (int64 downcasted) {\n downcasted = int64(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 64 bits\");\n }\n\n /**\n * @dev Returns the downcasted int56 from int256, reverting on\n * overflow (when the input is less than smallest int56 or\n * greater than largest int56).\n *\n * Counterpart to Solidity's `int56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n *\n * _Available since v4.7._\n */\n function toInt56(int256 value) internal pure returns (int56 downcasted) {\n downcasted = int56(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 56 bits\");\n }\n\n /**\n * @dev Returns the downcasted int48 from int256, reverting on\n * overflow (when the input is less than smallest int48 or\n * greater than largest int48).\n *\n * Counterpart to Solidity's `int48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n *\n * _Available since v4.7._\n */\n function toInt48(int256 value) internal pure returns (int48 downcasted) {\n downcasted = int48(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 48 bits\");\n }\n\n /**\n * @dev Returns the downcasted int40 from int256, reverting on\n * overflow (when the input is less than smallest int40 or\n * greater than largest int40).\n *\n * Counterpart to Solidity's `int40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n *\n * _Available since v4.7._\n */\n function toInt40(int256 value) internal pure returns (int40 downcasted) {\n downcasted = int40(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 40 bits\");\n }\n\n /**\n * @dev Returns the downcasted int32 from int256, reverting on\n * overflow (when the input is less than smallest int32 or\n * greater than largest int32).\n *\n * Counterpart to Solidity's `int32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n *\n * _Available since v3.1._\n */\n function toInt32(int256 value) internal pure returns (int32 downcasted) {\n downcasted = int32(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 32 bits\");\n }\n\n /**\n * @dev Returns the downcasted int24 from int256, reverting on\n * overflow (when the input is less than smallest int24 or\n * greater than largest int24).\n *\n * Counterpart to Solidity's `int24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n *\n * _Available since v4.7._\n */\n function toInt24(int256 value) internal pure returns (int24 downcasted) {\n downcasted = int24(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 24 bits\");\n }\n\n /**\n * @dev Returns the downcasted int16 from int256, reverting on\n * overflow (when the input is less than smallest int16 or\n * greater than largest int16).\n *\n * Counterpart to Solidity's `int16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n *\n * _Available since v3.1._\n */\n function toInt16(int256 value) internal pure returns (int16 downcasted) {\n downcasted = int16(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 16 bits\");\n }\n\n /**\n * @dev Returns the downcasted int8 from int256, reverting on\n * overflow (when the input is less than smallest int8 or\n * greater than largest int8).\n *\n * Counterpart to Solidity's `int8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n *\n * _Available since v3.1._\n */\n function toInt8(int256 value) internal pure returns (int8 downcasted) {\n downcasted = int8(value);\n require(downcasted == value, \"SafeCast: value doesn't fit in 8 bits\");\n }\n\n /**\n * @dev Converts an unsigned uint256 into a signed int256.\n *\n * Requirements:\n *\n * - input must be less than or equal to maxInt256.\n *\n * _Available since v3.0._\n */\n function toInt256(uint256 value) internal pure returns (int256) {\n // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive\n require(value <= uint256(type(int256).max), \"SafeCast: value doesn't fit in an int256\");\n return int256(value);\n }\n}\n", - "sourceMap": "927:34153:31:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;927:34153:31;;;;;;;;;;;;;;;;;", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/SafeCast.sol", - "type": "library" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Strings.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Strings.json deleted file mode 100644 index b7448059..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/Strings.json +++ /dev/null @@ -1,2541 +0,0 @@ -{ - "abi": [], - "allSourcePaths": { - "24": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "30": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "exportedSymbols": { - "Math": [ - 10283 - ], - "Strings": [ - 10470 - ] - }, - "id": 10471, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10297, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "101:23:24" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/math/Math.sol", - "file": "./math/Math.sol", - "id": 10298, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 10471, - "sourceUnit": 10284, - "src": "126:25:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Strings", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 10299, - "nodeType": "StructuredDocumentation", - "src": "153:34:24", - "text": " @dev String operations." - }, - "fullyImplemented": true, - "id": 10470, - "linearizedBaseContracts": [ - 10470 - ], - "name": "Strings", - "nameLocation": "196:7:24", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 10302, - "mutability": "constant", - "name": "_SYMBOLS", - "nameLocation": "235:8:24", - "nodeType": "VariableDeclaration", - "scope": 10470, - "src": "210:54:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - }, - "typeName": { - "id": 10300, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "210:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "value": { - "hexValue": "30313233343536373839616263646566", - "id": 10301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "246:18:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", - "typeString": "literal_string \"0123456789abcdef\"" - }, - "value": "0123456789abcdef" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 10305, - "mutability": "constant", - "name": "_ADDRESS_LENGTH", - "nameLocation": "293:15:24", - "nodeType": "VariableDeclaration", - "scope": 10470, - "src": "270:43:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 10303, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "270:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "hexValue": "3230", - "id": 10304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "311:2:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "private" - }, - { - "body": { - "id": 10352, - "nodeType": "Block", - "src": "486:625:24", - "statements": [ - { - "id": 10351, - "nodeType": "UncheckedBlock", - "src": "496:609:24", - "statements": [ - { - "assignments": [ - 10314 - ], - "declarations": [ - { - "constant": false, - "id": 10314, - "mutability": "mutable", - "name": "length", - "nameLocation": "528:6:24", - "nodeType": "VariableDeclaration", - "scope": 10351, - "src": "520:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 10321, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 10317, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10308, - "src": "548:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 10315, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "537:4:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$10283_$", - "typeString": "type(library Math)" - } - }, - "id": 10316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "542:5:24", - "memberName": "log10", - "nodeType": "MemberAccess", - "referencedDeclaration": 10120, - "src": "537:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "537:17:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 10319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "537:21:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "520:38:24" - }, - { - "assignments": [ - 10323 - ], - "declarations": [ - { - "constant": false, - "id": 10323, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "586:6:24", - "nodeType": "VariableDeclaration", - "scope": 10351, - "src": "572:20:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10322, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "572:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 10328, - "initialValue": { - "arguments": [ - { - "id": 10326, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10314, - "src": "606:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "595:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - }, - "typeName": { - "id": 10324, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "599:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "id": 10327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "595:18:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "572:41:24" - }, - { - "assignments": [ - 10330 - ], - "declarations": [ - { - "constant": false, - "id": 10330, - "mutability": "mutable", - "name": "ptr", - "nameLocation": "635:3:24", - "nodeType": "VariableDeclaration", - "scope": 10351, - "src": "627:11:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "627:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 10331, - "nodeType": "VariableDeclarationStatement", - "src": "627:11:24" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "708:67:24", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "726:35:24", - "value": { - "arguments": [ - { - "name": "buffer", - "nodeType": "YulIdentifier", - "src": "737:6:24" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "749:2:24", - "type": "", - "value": "32" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "753:6:24" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "745:3:24" - }, - "nodeType": "YulFunctionCall", - "src": "745:15:24" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "733:3:24" - }, - "nodeType": "YulFunctionCall", - "src": "733:28:24" - }, - "variableNames": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "726:3:24" - } - ] - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 10323, - "isOffset": false, - "isSlot": false, - "src": "737:6:24", - "valueSize": 1 - }, - { - "declaration": 10314, - "isOffset": false, - "isSlot": false, - "src": "753:6:24", - "valueSize": 1 - }, - { - "declaration": 10330, - "isOffset": false, - "isSlot": false, - "src": "726:3:24", - "valueSize": 1 - } - ], - "id": 10332, - "nodeType": "InlineAssembly", - "src": "699:76:24" - }, - { - "body": { - "id": 10347, - "nodeType": "Block", - "src": "801:267:24", - "statements": [ - { - "expression": { - "id": 10335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "819:5:24", - "subExpression": { - "id": 10334, - "name": "ptr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10330, - "src": "819:3:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10336, - "nodeType": "ExpressionStatement", - "src": "819:5:24" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "902:84:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "932:3:24" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "946:5:24" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "953:2:24", - "type": "", - "value": "10" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "942:3:24" - }, - "nodeType": "YulFunctionCall", - "src": "942:14:24" - }, - { - "name": "_SYMBOLS", - "nodeType": "YulIdentifier", - "src": "958:8:24" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "937:4:24" - }, - "nodeType": "YulFunctionCall", - "src": "937:30:24" - } - ], - "functionName": { - "name": "mstore8", - "nodeType": "YulIdentifier", - "src": "924:7:24" - }, - "nodeType": "YulFunctionCall", - "src": "924:44:24" - }, - "nodeType": "YulExpressionStatement", - "src": "924:44:24" - } - ] - }, - "documentation": "@solidity memory-safe-assembly", - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 10302, - "isOffset": false, - "isSlot": false, - "src": "958:8:24", - "valueSize": 1 - }, - { - "declaration": 10330, - "isOffset": false, - "isSlot": false, - "src": "932:3:24", - "valueSize": 1 - }, - { - "declaration": 10308, - "isOffset": false, - "isSlot": false, - "src": "946:5:24", - "valueSize": 1 - } - ], - "id": 10337, - "nodeType": "InlineAssembly", - "src": "893:93:24" - }, - { - "expression": { - "id": 10340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10338, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10308, - "src": "1003:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "hexValue": "3130", - "id": 10339, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1012:2:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "1003:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10341, - "nodeType": "ExpressionStatement", - "src": "1003:11:24" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10342, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10308, - "src": "1036:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 10343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1045:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1036:10:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10346, - "nodeType": "IfStatement", - "src": "1032:21:24", - "trueBody": { - "id": 10345, - "nodeType": "Break", - "src": "1048:5:24" - } - } - ] - }, - "condition": { - "hexValue": "74727565", - "id": 10333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "795:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "id": 10348, - "nodeType": "WhileStatement", - "src": "788:280:24" - }, - { - "expression": { - "id": 10349, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10323, - "src": "1088:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10312, - "id": 10350, - "nodeType": "Return", - "src": "1081:13:24" - } - ] - } - ] - }, - "documentation": { - "id": 10306, - "nodeType": "StructuredDocumentation", - "src": "320:90:24", - "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." - }, - "id": 10353, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nameLocation": "424:8:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10309, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10308, - "mutability": "mutable", - "name": "value", - "nameLocation": "441:5:24", - "nodeType": "VariableDeclaration", - "scope": 10353, - "src": "433:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "433:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "432:15:24" - }, - "returnParameters": { - "id": 10312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10311, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10353, - "src": "471:13:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10310, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "471:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "470:15:24" - }, - "scope": 10470, - "src": "415:696:24", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10372, - "nodeType": "Block", - "src": "1290:100:24", - "statements": [ - { - "id": 10371, - "nodeType": "UncheckedBlock", - "src": "1300:84:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 10362, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10356, - "src": "1343:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 10365, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10356, - "src": "1362:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 10363, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10283, - "src": "1350:4:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$10283_$", - "typeString": "type(library Math)" - } - }, - "id": 10364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1355:6:24", - "memberName": "log256", - "nodeType": "MemberAccess", - "referencedDeclaration": 10243, - "src": "1350:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 10366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1350:18:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 10367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1371:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1350:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10361, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10373, - 10449, - 10469 - ], - "referencedDeclaration": 10449, - "src": "1331:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 10369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1331:42:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10360, - "id": 10370, - "nodeType": "Return", - "src": "1324:49:24" - } - ] - } - ] - }, - "documentation": { - "id": 10354, - "nodeType": "StructuredDocumentation", - "src": "1117:94:24", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." - }, - "id": 10373, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1225:11:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10357, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10356, - "mutability": "mutable", - "name": "value", - "nameLocation": "1245:5:24", - "nodeType": "VariableDeclaration", - "scope": 10373, - "src": "1237:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1237:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1236:15:24" - }, - "returnParameters": { - "id": 10360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10359, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10373, - "src": "1275:13:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10358, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1275:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1274:15:24" - }, - "scope": 10470, - "src": "1216:174:24", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10448, - "nodeType": "Block", - "src": "1603:347:24", - "statements": [ - { - "assignments": [ - 10384 - ], - "declarations": [ - { - "constant": false, - "id": 10384, - "mutability": "mutable", - "name": "buffer", - "nameLocation": "1626:6:24", - "nodeType": "VariableDeclaration", - "scope": 10448, - "src": "1613:19:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10383, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1613:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 10393, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 10387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1645:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 10388, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10378, - "src": "1649:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1645:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 10390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1658:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "1645:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1635:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 10385, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1639:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 10392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1635:25:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1613:47:24" - }, - { - "expression": { - "id": 10398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 10394, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "1670:6:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 10396, - "indexExpression": { - "hexValue": "30", - "id": 10395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1677:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1670:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 10397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1682:3:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "src": "1670:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 10399, - "nodeType": "ExpressionStatement", - "src": "1670:15:24" - }, - { - "expression": { - "id": 10404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 10400, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "1695:6:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 10402, - "indexExpression": { - "hexValue": "31", - "id": 10401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1702:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1695:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "78", - "id": 10403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1707:3:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", - "typeString": "literal_string \"x\"" - }, - "value": "x" - }, - "src": "1695:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 10405, - "nodeType": "ExpressionStatement", - "src": "1695:15:24" - }, - { - "body": { - "id": 10434, - "nodeType": "Block", - "src": "1765:83:24", - "statements": [ - { - "expression": { - "id": 10428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 10420, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "1779:6:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 10422, - "indexExpression": { - "id": 10421, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10407, - "src": "1786:1:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1779:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 10423, - "name": "_SYMBOLS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10302, - "src": "1791:8:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - }, - "id": 10427, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10424, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10376, - "src": "1800:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "307866", - "id": 10425, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1808:3:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "0xf" - }, - "src": "1800:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1791:21:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "1779:33:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 10429, - "nodeType": "ExpressionStatement", - "src": "1779:33:24" - }, - { - "expression": { - "id": 10432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 10430, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10376, - "src": "1826:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "34", - "id": 10431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1836:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "1826:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10433, - "nodeType": "ExpressionStatement", - "src": "1826:11:24" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10414, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10407, - "src": "1753:1:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "31", - "id": 10415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1757:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1753:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10435, - "initializationExpression": { - "assignments": [ - 10407 - ], - "declarations": [ - { - "constant": false, - "id": 10407, - "mutability": "mutable", - "name": "i", - "nameLocation": "1733:1:24", - "nodeType": "VariableDeclaration", - "scope": 10435, - "src": "1725:9:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10406, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 10413, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 10408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1737:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 10409, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10378, - "src": "1741:6:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1737:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 10411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1750:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1737:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:26:24" - }, - "loopExpression": { - "expression": { - "id": 10418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": true, - "src": "1760:3:24", - "subExpression": { - "id": 10417, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10407, - "src": "1762:1:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10419, - "nodeType": "ExpressionStatement", - "src": "1760:3:24" - }, - "nodeType": "ForStatement", - "src": "1720:128:24" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 10437, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10376, - "src": "1865:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 10438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1874:1:24", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1865:10:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "id": 10440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1877:34:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "typeString": "literal_string \"Strings: hex length insufficient\"" - }, - "value": "Strings: hex length insufficient" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "typeString": "literal_string \"Strings: hex length insufficient\"" - } - ], - "id": 10436, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1857:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1857:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10442, - "nodeType": "ExpressionStatement", - "src": "1857:55:24" - }, - { - "expression": { - "arguments": [ - { - "id": 10445, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10384, - "src": "1936:6:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 10444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1929:6:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 10443, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1929:6:24", - "typeDescriptions": {} - } - }, - "id": 10446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1929:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10382, - "id": 10447, - "nodeType": "Return", - "src": "1922:21:24" - } - ] - }, - "documentation": { - "id": 10374, - "nodeType": "StructuredDocumentation", - "src": "1396:112:24", - "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." - }, - "id": 10449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "1522:11:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10376, - "mutability": "mutable", - "name": "value", - "nameLocation": "1542:5:24", - "nodeType": "VariableDeclaration", - "scope": 10449, - "src": "1534:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1534:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 10378, - "mutability": "mutable", - "name": "length", - "nameLocation": "1557:6:24", - "nodeType": "VariableDeclaration", - "scope": 10449, - "src": "1549:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10377, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1533:31:24" - }, - "returnParameters": { - "id": 10382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10381, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10449, - "src": "1588:13:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10380, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1588:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1587:15:24" - }, - "scope": 10470, - "src": "1513:437:24", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10468, - "nodeType": "Block", - "src": "2175:76:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 10462, - "name": "addr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10452, - "src": "2220:4:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2212:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10460, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "2212:7:24", - "typeDescriptions": {} - } - }, - "id": 10463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2212:13:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2204:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10458, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2204:7:24", - "typeDescriptions": {} - } - }, - "id": 10464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2204:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 10465, - "name": "_ADDRESS_LENGTH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10305, - "src": "2228:15:24", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 10457, - "name": "toHexString", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10373, - 10449, - 10469 - ], - "referencedDeclaration": 10449, - "src": "2192:11:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256,uint256) pure returns (string memory)" - } - }, - "id": 10466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2192:52:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10456, - "id": 10467, - "nodeType": "Return", - "src": "2185:59:24" - } - ] - }, - "documentation": { - "id": 10450, - "nodeType": "StructuredDocumentation", - "src": "1956:141:24", - "text": " @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation." - }, - "id": 10469, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toHexString", - "nameLocation": "2111:11:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 10453, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10452, - "mutability": "mutable", - "name": "addr", - "nameLocation": "2131:4:24", - "nodeType": "VariableDeclaration", - "scope": 10469, - "src": "2123:12:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10451, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2123:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2122:14:24" - }, - "returnParameters": { - "id": 10456, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10455, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 10469, - "src": "2160:13:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10454, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2160:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2159:15:24" - }, - "scope": 10470, - "src": "2102:149:24", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10471, - "src": "188:2065:24", - "usedErrors": [] - } - ], - "src": "101:2153:24" - }, - "bytecode": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204f5c2f803e15f0f2b07aab51557d34c9beed0d83f21f62db5321c030e56c7ef464736f6c63430008110033", - "bytecodeSha1": "1ce946f6a4eaa185320328620ccf999b9e86db7c", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "Strings", - "coverageMap": { - "branches": { - "24": {}, - "30": {} - }, - "statements": { - "24": {}, - "30": {} - } - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Math" - ], - "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204f5c2f803e15f0f2b07aab51557d34c9beed0d83f21f62db5321c030e56c7ef464736f6c63430008110033", - "deployedSourceMap": "188:2065:24:-:0;;;;;;;;", - "language": "Solidity", - "natspec": { - "details": "String operations.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "offset": [ - 188, - 2253 - ], - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4F 0x5C 0x2F DUP1 RETURNDATACOPY ISZERO CREATE CALLCODE 0xB0 PUSH27 0xAB51557D34C9BEED0D83F21F62DB5321C030E56C7EF464736F6C63 NUMBER STOP ADDMOD GT STOP CALLER ", - "pcMap": { - "0": { - "offset": [ - 188, - 2253 - ], - "op": "PUSH20", - "path": "24", - "value": "0x0" - }, - "21": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "ADDRESS", - "path": "24" - }, - "22": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "EQ", - "path": "24" - }, - "23": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "PUSH1", - "path": "24", - "value": "0x80" - }, - "25": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "PUSH1", - "path": "24", - "value": "0x40" - }, - "27": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "MSTORE", - "path": "24" - }, - "28": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "PUSH1", - "path": "24", - "value": "0x0" - }, - "30": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "DUP1", - "path": "24" - }, - "31": { - "fn": null, - "offset": [ - 188, - 2253 - ], - "op": "REVERT", - "path": "24" - } - }, - "sha1": "ff5ece3767b1d883dd71e4d905878d3af39eaa3e", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./math/Math.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n}\n", - "sourceMap": "188:2065:24:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;188:2065:24;;;;;;;;;;;;;;;;;", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Strings.sol", - "type": "library" -} \ No newline at end of file diff --git a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/TimelockController.json b/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/TimelockController.json deleted file mode 100644 index e218d0da..00000000 --- a/context/contracts/chain-info/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.8.1/TimelockController.json +++ /dev/null @@ -1,41518 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "minDelay", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "proposers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "executors", - "type": "address[]" - }, - { - "internalType": "address", - "name": "admin", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "CallExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "CallScheduled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "Cancelled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldDuration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "MinDelayChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "CANCELLER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXECUTOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PROPOSER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TIMELOCK_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "cancel", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "executeBatch", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getMinDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "hashOperation", - "outputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "hashOperationBatch", - "outputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperation", - "outputs": [ - { - "internalType": "bool", - "name": "registered", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationDone", - "outputs": [ - { - "internalType": "bool", - "name": "done", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationPending", - "outputs": [ - { - "internalType": "bool", - "name": "pending", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationReady", - "outputs": [ - { - "internalType": "bool", - "name": "ready", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "schedule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "scheduleBatch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newDelay", - "type": "uint256" - } - ], - "name": "updateDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "allSourcePaths": { - "0": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/AccessControl.sol", - "1": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/IAccessControl.sol", - "12": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "19": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "22": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "28": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/ERC165.sol", - "29": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/introspection/IERC165.sol", - "4": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/TimelockController.sol" - }, - "ast": { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/TimelockController.sol", - "exportedSymbols": { - "AccessControl": [ - 10786 - ], - "Address": [ - 4185 - ], - "Context": [ - 4207 - ], - "ERC165": [ - 4960 - ], - "IAccessControl": [ - 11556 - ], - "IERC1155Receiver": [ - 3837 - ], - "IERC165": [ - 10295 - ], - "IERC721Receiver": [ - 3855 - ], - "Math": [ - 10283 - ], - "Strings": [ - 10470 - ], - "TimelockController": [ - 7756 - ] - }, - "id": 7757, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6844, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "117:23:4" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/AccessControl.sol", - "file": "../access/AccessControl.sol", - "id": 6845, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 7757, - "sourceUnit": 10787, - "src": "142:37:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC721/IERC721Receiver.sol", - "file": "../token/ERC721/IERC721Receiver.sol", - "id": 6846, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 7757, - "sourceUnit": 3856, - "src": "180:45:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/token/ERC1155/IERC1155Receiver.sol", - "file": "../token/ERC1155/IERC1155Receiver.sol", - "id": 6847, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 7757, - "sourceUnit": 3838, - "src": "226:47:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Address.sol", - "file": "../utils/Address.sol", - "id": 6848, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 7757, - "sourceUnit": 4186, - "src": "274:30:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 6850, - "name": "AccessControl", - "nameLocations": [ - "1061:13:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10786, - "src": "1061:13:4" - }, - "id": 6851, - "nodeType": "InheritanceSpecifier", - "src": "1061:13:4" - }, - { - "baseName": { - "id": 6852, - "name": "IERC721Receiver", - "nameLocations": [ - "1076:15:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3855, - "src": "1076:15:4" - }, - "id": 6853, - "nodeType": "InheritanceSpecifier", - "src": "1076:15:4" - }, - { - "baseName": { - "id": 6854, - "name": "IERC1155Receiver", - "nameLocations": [ - "1093:16:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3837, - "src": "1093:16:4" - }, - "id": 6855, - "nodeType": "InheritanceSpecifier", - "src": "1093:16:4" - } - ], - "canonicalName": "TimelockController", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 6849, - "nodeType": "StructuredDocumentation", - "src": "306:723:4", - "text": " @dev Contract module which acts as a timelocked controller. When set as the\n owner of an `Ownable` smart contract, it enforces a timelock on all\n `onlyOwner` maintenance operations. This gives time for users of the\n controlled contract to exit before a potentially dangerous maintenance\n operation is applied.\n By default, this contract is self administered, meaning administration tasks\n have to go through the timelock process. The proposer (resp executor) role\n is in charge of proposing (resp executing) operations. A common use case is\n to position this {TimelockController} as the owner of a smart contract, with\n a multisig or a DAO as the sole proposer.\n _Available since v3.3._" - }, - "fullyImplemented": true, - "id": 7756, - "linearizedBaseContracts": [ - 7756, - 3837, - 3855, - 10786, - 4960, - 10295, - 11556, - 4207 - ], - "name": "TimelockController", - "nameLocation": "1039:18:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "functionSelector": "0d3cf6fc", - "id": 6860, - "mutability": "constant", - "name": "TIMELOCK_ADMIN_ROLE", - "nameLocation": "1140:19:4", - "nodeType": "VariableDeclaration", - "scope": 7756, - "src": "1116:78:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6856, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1116:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "54494d454c4f434b5f41444d494e5f524f4c45", - "id": 6858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1172:21:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", - "typeString": "literal_string \"TIMELOCK_ADMIN_ROLE\"" - }, - "value": "TIMELOCK_ADMIN_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", - "typeString": "literal_string \"TIMELOCK_ADMIN_ROLE\"" - } - ], - "id": 6857, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1162:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 6859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1162:32:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "8f61f4f5", - "id": 6865, - "mutability": "constant", - "name": "PROPOSER_ROLE", - "nameLocation": "1224:13:4", - "nodeType": "VariableDeclaration", - "scope": 7756, - "src": "1200:66:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6861, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1200:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "50524f504f5345525f524f4c45", - "id": 6863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1250:15:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", - "typeString": "literal_string \"PROPOSER_ROLE\"" - }, - "value": "PROPOSER_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", - "typeString": "literal_string \"PROPOSER_ROLE\"" - } - ], - "id": 6862, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1240:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 6864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1240:26:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "07bd0265", - "id": 6870, - "mutability": "constant", - "name": "EXECUTOR_ROLE", - "nameLocation": "1296:13:4", - "nodeType": "VariableDeclaration", - "scope": 7756, - "src": "1272:66:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6866, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1272:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "4558454355544f525f524f4c45", - "id": 6868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1322:15:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", - "typeString": "literal_string \"EXECUTOR_ROLE\"" - }, - "value": "EXECUTOR_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", - "typeString": "literal_string \"EXECUTOR_ROLE\"" - } - ], - "id": 6867, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1312:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 6869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1312:26:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "b08e51c0", - "id": 6875, - "mutability": "constant", - "name": "CANCELLER_ROLE", - "nameLocation": "1368:14:4", - "nodeType": "VariableDeclaration", - "scope": 7756, - "src": "1344:68:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6871, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1344:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "43414e43454c4c45525f524f4c45", - "id": 6873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1395:16:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783", - "typeString": "literal_string \"CANCELLER_ROLE\"" - }, - "value": "CANCELLER_ROLE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783", - "typeString": "literal_string \"CANCELLER_ROLE\"" - } - ], - "id": 6872, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1385:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 6874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1385:27:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 6881, - "mutability": "constant", - "name": "_DONE_TIMESTAMP", - "nameLocation": "1444:15:4", - "nodeType": "VariableDeclaration", - "scope": 7756, - "src": "1418:54:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1418:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 6879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1470:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 6878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1462:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 6877, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1462:7:4", - "typeDescriptions": {} - } - }, - "id": 6880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1462:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6885, - "mutability": "mutable", - "name": "_timestamps", - "nameLocation": "1515:11:4", - "nodeType": "VariableDeclaration", - "scope": 7756, - "src": "1479:47:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 6884, - "keyType": { - "id": 6882, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1487:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1479:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 6883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1498:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 6887, - "mutability": "mutable", - "name": "_minDelay", - "nameLocation": "1548:9:4", - "nodeType": "VariableDeclaration", - "scope": 7756, - "src": "1532:25:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1532:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "documentation": { - "id": 6888, - "nodeType": "StructuredDocumentation", - "src": "1564:83:4", - "text": " @dev Emitted when a call is scheduled as part of operation `id`." - }, - "eventSelector": "4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca", - "id": 6904, - "name": "CallScheduled", - "nameLocation": "1658:13:4", - "nodeType": "EventDefinition", - "parameters": { - "id": 6903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6890, - "indexed": true, - "mutability": "mutable", - "name": "id", - "nameLocation": "1697:2:4", - "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1681:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6889, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1681:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6892, - "indexed": true, - "mutability": "mutable", - "name": "index", - "nameLocation": "1725:5:4", - "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1709:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1709:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6894, - "indexed": false, - "mutability": "mutable", - "name": "target", - "nameLocation": "1748:6:4", - "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1740:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6893, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1740:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6896, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "1772:5:4", - "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1764:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1764:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6898, - "indexed": false, - "mutability": "mutable", - "name": "data", - "nameLocation": "1793:4:4", - "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1787:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6897, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1787:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6900, - "indexed": false, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "1815:11:4", - "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1807:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6899, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1807:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6902, - "indexed": false, - "mutability": "mutable", - "name": "delay", - "nameLocation": "1844:5:4", - "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1836:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1836:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1671:184:4" - }, - "src": "1652:204:4" - }, - { - "anonymous": false, - "documentation": { - "id": 6905, - "nodeType": "StructuredDocumentation", - "src": "1862:83:4", - "text": " @dev Emitted when a call is performed as part of operation `id`." - }, - "eventSelector": "c2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58", - "id": 6917, - "name": "CallExecuted", - "nameLocation": "1956:12:4", - "nodeType": "EventDefinition", - "parameters": { - "id": 6916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6907, - "indexed": true, - "mutability": "mutable", - "name": "id", - "nameLocation": "1985:2:4", - "nodeType": "VariableDeclaration", - "scope": 6917, - "src": "1969:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6906, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1969:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6909, - "indexed": true, - "mutability": "mutable", - "name": "index", - "nameLocation": "2005:5:4", - "nodeType": "VariableDeclaration", - "scope": 6917, - "src": "1989:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1989:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6911, - "indexed": false, - "mutability": "mutable", - "name": "target", - "nameLocation": "2020:6:4", - "nodeType": "VariableDeclaration", - "scope": 6917, - "src": "2012:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6910, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2012:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6913, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "2036:5:4", - "nodeType": "VariableDeclaration", - "scope": 6917, - "src": "2028:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2028:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6915, - "indexed": false, - "mutability": "mutable", - "name": "data", - "nameLocation": "2049:4:4", - "nodeType": "VariableDeclaration", - "scope": 6917, - "src": "2043:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6914, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2043:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1968:86:4" - }, - "src": "1950:105:4" - }, - { - "anonymous": false, - "documentation": { - "id": 6918, - "nodeType": "StructuredDocumentation", - "src": "2061:65:4", - "text": " @dev Emitted when operation `id` is cancelled." - }, - "eventSelector": "baa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb70", - "id": 6922, - "name": "Cancelled", - "nameLocation": "2137:9:4", - "nodeType": "EventDefinition", - "parameters": { - "id": 6921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6920, - "indexed": true, - "mutability": "mutable", - "name": "id", - "nameLocation": "2163:2:4", - "nodeType": "VariableDeclaration", - "scope": 6922, - "src": "2147:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6919, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2147:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2146:20:4" - }, - "src": "2131:36:4" - }, - { - "anonymous": false, - "documentation": { - "id": 6923, - "nodeType": "StructuredDocumentation", - "src": "2173:89:4", - "text": " @dev Emitted when the minimum delay for future operations is modified." - }, - "eventSelector": "11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5", - "id": 6929, - "name": "MinDelayChange", - "nameLocation": "2273:14:4", - "nodeType": "EventDefinition", - "parameters": { - "id": 6928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6925, - "indexed": false, - "mutability": "mutable", - "name": "oldDuration", - "nameLocation": "2296:11:4", - "nodeType": "VariableDeclaration", - "scope": 6929, - "src": "2288:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2288:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6927, - "indexed": false, - "mutability": "mutable", - "name": "newDuration", - "nameLocation": "2317:11:4", - "nodeType": "VariableDeclaration", - "scope": 6929, - "src": "2309:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2309:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2287:42:4" - }, - "src": "2267:63:4" - }, - { - "body": { - "id": 7040, - "nodeType": "Block", - "src": "3228:906:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 6944, - "name": "TIMELOCK_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "3252:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 6945, - "name": "TIMELOCK_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "3273:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 6943, - "name": "_setRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10722, - "src": "3238:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 6946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3238:55:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6947, - "nodeType": "ExpressionStatement", - "src": "3238:55:4" - }, - { - "expression": { - "arguments": [ - { - "id": 6949, - "name": "PROPOSER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "3317:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 6950, - "name": "TIMELOCK_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "3332:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 6948, - "name": "_setRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10722, - "src": "3303:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 6951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3303:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6952, - "nodeType": "ExpressionStatement", - "src": "3303:49:4" - }, - { - "expression": { - "arguments": [ - { - "id": 6954, - "name": "EXECUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "3376:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 6955, - "name": "TIMELOCK_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "3391:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 6953, - "name": "_setRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10722, - "src": "3362:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 6956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3362:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6957, - "nodeType": "ExpressionStatement", - "src": "3362:49:4" - }, - { - "expression": { - "arguments": [ - { - "id": 6959, - "name": "CANCELLER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6875, - "src": "3435:14:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 6960, - "name": "TIMELOCK_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "3451:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 6958, - "name": "_setRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10722, - "src": "3421:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 6961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3421:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6962, - "nodeType": "ExpressionStatement", - "src": "3421:50:4" - }, - { - "expression": { - "arguments": [ - { - "id": 6964, - "name": "TIMELOCK_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "3524:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 6967, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3553:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 6966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3545:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3545:7:4", - "typeDescriptions": {} - } - }, - "id": 6968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3545:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6963, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10694, - "src": "3513:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 6969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3513:46:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6970, - "nodeType": "ExpressionStatement", - "src": "3513:46:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6971, - "name": "admin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6940, - "src": "3600:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 6974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3617:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 6973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3609:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6972, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3609:7:4", - "typeDescriptions": {} - } - }, - "id": 6975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3609:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3600:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6983, - "nodeType": "IfStatement", - "src": "3596:88:4", - "trueBody": { - "id": 6982, - "nodeType": "Block", - "src": "3621:63:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 6978, - "name": "TIMELOCK_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6860, - "src": "3646:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 6979, - "name": "admin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6940, - "src": "3667:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6977, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10694, - "src": "3635:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 6980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3635:38:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6981, - "nodeType": "ExpressionStatement", - "src": "3635:38:4" - } - ] - } - }, - { - "body": { - "id": 7009, - "nodeType": "Block", - "src": "3786:118:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 6996, - "name": "PROPOSER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "3811:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 6997, - "name": "proposers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6935, - "src": "3826:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6999, - "indexExpression": { - "id": 6998, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "3836:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3826:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6995, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10694, - "src": "3800:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 7000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3800:39:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7001, - "nodeType": "ExpressionStatement", - "src": "3800:39:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7003, - "name": "CANCELLER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6875, - "src": "3864:14:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 7004, - "name": "proposers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6935, - "src": "3880:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7006, - "indexExpression": { - "id": 7005, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "3890:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3880:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7002, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10694, - "src": "3853:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 7007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3853:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7008, - "nodeType": "ExpressionStatement", - "src": "3853:40:4" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6988, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "3759:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 6989, - "name": "proposers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6935, - "src": "3763:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3773:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3763:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3759:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7010, - "initializationExpression": { - "assignments": [ - 6985 - ], - "declarations": [ - { - "constant": false, - "id": 6985, - "mutability": "mutable", - "name": "i", - "nameLocation": "3752:1:4", - "nodeType": "VariableDeclaration", - "scope": 7010, - "src": "3744:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3744:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 6987, - "initialValue": { - "hexValue": "30", - "id": 6986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3756:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3744:13:4" - }, - "loopExpression": { - "expression": { - "id": 6993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "3781:3:4", - "subExpression": { - "id": 6992, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6985, - "src": "3783:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6994, - "nodeType": "ExpressionStatement", - "src": "3781:3:4" - }, - "nodeType": "ForStatement", - "src": "3739:165:4" - }, - { - "body": { - "id": 7029, - "nodeType": "Block", - "src": "3991:64:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 7023, - "name": "EXECUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "4016:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 7024, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6938, - "src": "4031:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7026, - "indexExpression": { - "id": 7025, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7012, - "src": "4041:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4031:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7022, - "name": "_setupRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10694, - "src": "4005:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 7027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4005:39:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7028, - "nodeType": "ExpressionStatement", - "src": "4005:39:4" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7015, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7012, - "src": "3964:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 7016, - "name": "executors", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6938, - "src": "3968:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3978:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3968:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3964:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7030, - "initializationExpression": { - "assignments": [ - 7012 - ], - "declarations": [ - { - "constant": false, - "id": 7012, - "mutability": "mutable", - "name": "i", - "nameLocation": "3957:1:4", - "nodeType": "VariableDeclaration", - "scope": 7030, - "src": "3949:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7011, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3949:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 7014, - "initialValue": { - "hexValue": "30", - "id": 7013, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3961:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3949:13:4" - }, - "loopExpression": { - "expression": { - "id": 7020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "3986:3:4", - "subExpression": { - "id": 7019, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7012, - "src": "3988:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7021, - "nodeType": "ExpressionStatement", - "src": "3986:3:4" - }, - "nodeType": "ForStatement", - "src": "3944:111:4" - }, - { - "expression": { - "id": 7033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 7031, - "name": "_minDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "4065:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 7032, - "name": "minDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6932, - "src": "4077:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4065:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7034, - "nodeType": "ExpressionStatement", - "src": "4065:20:4" - }, - { - "eventCall": { - "arguments": [ - { - "hexValue": "30", - "id": 7036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4115:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 7037, - "name": "minDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6932, - "src": "4118:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7035, - "name": "MinDelayChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6929, - "src": "4100:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 7038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4100:27:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7039, - "nodeType": "EmitStatement", - "src": "4095:32:4" - } - ] - }, - "documentation": { - "id": 6930, - "nodeType": "StructuredDocumentation", - "src": "2336:748:4", - "text": " @dev Initializes the contract with the following parameters:\n - `minDelay`: initial minimum delay for operations\n - `proposers`: accounts to be granted proposer and canceller roles\n - `executors`: accounts to be granted executor role\n - `admin`: optional account to be granted admin role; disable with zero address\n IMPORTANT: The optional admin can aid with initial configuration of roles after deployment\n without being subject to delay, but this role should be subsequently renounced in favor of\n administration through timelocked proposals. Previous versions of this contract would assign\n this admin to the deployer automatically and should be renounced as well." - }, - "id": 7041, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6941, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6932, - "mutability": "mutable", - "name": "minDelay", - "nameLocation": "3118:8:4", - "nodeType": "VariableDeclaration", - "scope": 7041, - "src": "3110:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3110:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6935, - "mutability": "mutable", - "name": "proposers", - "nameLocation": "3153:9:4", - "nodeType": "VariableDeclaration", - "scope": 7041, - "src": "3136:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6933, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3136:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6934, - "nodeType": "ArrayTypeName", - "src": "3136:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6938, - "mutability": "mutable", - "name": "executors", - "nameLocation": "3189:9:4", - "nodeType": "VariableDeclaration", - "scope": 7041, - "src": "3172:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6936, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3172:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6937, - "nodeType": "ArrayTypeName", - "src": "3172:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6940, - "mutability": "mutable", - "name": "admin", - "nameLocation": "3216:5:4", - "nodeType": "VariableDeclaration", - "scope": 7041, - "src": "3208:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6939, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3208:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3100:127:4" - }, - "returnParameters": { - "id": 6942, - "nodeType": "ParameterList", - "parameters": [], - "src": "3228:0:4" - }, - "scope": 7756, - "src": "3089:1045:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7063, - "nodeType": "Block", - "src": "4458:114:4", - "statements": [ - { - "condition": { - "id": 7053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4472:26:4", - "subExpression": { - "arguments": [ - { - "id": 7047, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7044, - "src": "4481:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 7050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4495:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7049, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4487:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7048, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4487:7:4", - "typeDescriptions": {} - } - }, - "id": 7051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4487:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7046, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10550, - "src": "4473:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 7052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4473:25:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7061, - "nodeType": "IfStatement", - "src": "4468:87:4", - "trueBody": { - "id": 7060, - "nodeType": "Block", - "src": "4500:55:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 7055, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7044, - "src": "4525:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7056, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4197, - "src": "4531:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 7057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4531:12:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7054, - "name": "_checkRole", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10563, - 10602 - ], - "referencedDeclaration": 10602, - "src": "4514:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) view" - } - }, - "id": 7058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4514:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7059, - "nodeType": "ExpressionStatement", - "src": "4514:30:4" - } - ] - } - }, - { - "id": 7062, - "nodeType": "PlaceholderStatement", - "src": "4564:1:4" - } - ] - }, - "documentation": { - "id": 7042, - "nodeType": "StructuredDocumentation", - "src": "4140:271:4", - "text": " @dev Modifier to make a function callable only by a certain role. In\n addition to checking the sender's role, `address(0)` 's role is also\n considered. Granting a role to `address(0)` is equivalent to enabling\n this role for everyone." - }, - "id": 7064, - "name": "onlyRoleOrOpenRole", - "nameLocation": "4425:18:4", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 7045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7044, - "mutability": "mutable", - "name": "role", - "nameLocation": "4452:4:4", - "nodeType": "VariableDeclaration", - "scope": 7064, - "src": "4444:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7043, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4444:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4443:14:4" - }, - "src": "4416:156:4", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7068, - "nodeType": "Block", - "src": "4701:2:4", - "statements": [] - }, - "documentation": { - "id": 7065, - "nodeType": "StructuredDocumentation", - "src": "4578:91:4", - "text": " @dev Contract might receive/hold ETH as part of the maintenance process." - }, - "id": 7069, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7066, - "nodeType": "ParameterList", - "parameters": [], - "src": "4681:2:4" - }, - "returnParameters": { - "id": 7067, - "nodeType": "ParameterList", - "parameters": [], - "src": "4701:0:4" - }, - "scope": 7756, - "src": "4674:29:4", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 10294, - 10531 - ], - "body": { - "id": 7092, - "nodeType": "Block", - "src": "4885:113:4", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 7085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7080, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7072, - "src": "4902:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 7082, - "name": "IERC1155Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3837, - "src": "4922:16:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$3837_$", - "typeString": "type(contract IERC1155Receiver)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IERC1155Receiver_$3837_$", - "typeString": "type(contract IERC1155Receiver)" - } - ], - "id": 7081, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "4917:4:4", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 7083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4917:22:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC1155Receiver_$3837", - "typeString": "type(contract IERC1155Receiver)" - } - }, - "id": 7084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "4940:11:4", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "4917:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4902:49:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 7088, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7072, - "src": "4979:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 7086, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "4955:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_TimelockController_$7756_$", - "typeString": "type(contract super TimelockController)" - } - }, - "id": 7087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4961:17:4", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 10531, - "src": "4955:23:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 7089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4955:36:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4902:89:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7079, - "id": 7091, - "nodeType": "Return", - "src": "4895:96:4" - } - ] - }, - "documentation": { - "id": 7070, - "nodeType": "StructuredDocumentation", - "src": "4709:56:4", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 7093, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "4779:17:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7076, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 7074, - "name": "IERC165", - "nameLocations": [ - "4846:7:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10295, - "src": "4846:7:4" - }, - { - "id": 7075, - "name": "AccessControl", - "nameLocations": [ - "4855:13:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10786, - "src": "4855:13:4" - } - ], - "src": "4837:32:4" - }, - "parameters": { - "id": 7073, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7072, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "4804:11:4", - "nodeType": "VariableDeclaration", - "scope": 7093, - "src": "4797:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7071, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4797:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "4796:20:4" - }, - "returnParameters": { - "id": 7079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7078, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7093, - "src": "4879:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7077, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4879:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4878:6:4" - }, - "scope": 7756, - "src": "4770:228:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7107, - "nodeType": "Block", - "src": "5233:44:4", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 7102, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7096, - "src": "5263:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7101, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7175, - "src": "5250:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 7103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5250:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 7104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5269:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5250:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7100, - "id": 7106, - "nodeType": "Return", - "src": "5243:27:4" - } - ] - }, - "documentation": { - "id": 7094, - "nodeType": "StructuredDocumentation", - "src": "5004:145:4", - "text": " @dev Returns whether an id correspond to a registered operation. This\n includes both Pending, Ready and Done operations." - }, - "functionSelector": "31d50750", - "id": 7108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isOperation", - "nameLocation": "5163:11:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7096, - "mutability": "mutable", - "name": "id", - "nameLocation": "5183:2:4", - "nodeType": "VariableDeclaration", - "scope": 7108, - "src": "5175:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7095, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5175:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5174:12:4" - }, - "returnParameters": { - "id": 7100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7099, - "mutability": "mutable", - "name": "registered", - "nameLocation": "5221:10:4", - "nodeType": "VariableDeclaration", - "scope": 7108, - "src": "5216:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7098, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5216:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5215:17:4" - }, - "scope": 7756, - "src": "5154:123:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7122, - "nodeType": "Block", - "src": "5442:58:4", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 7117, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7111, - "src": "5472:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7116, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7175, - "src": "5459:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 7118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5459:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 7119, - "name": "_DONE_TIMESTAMP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6881, - "src": "5478:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5459:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7115, - "id": 7121, - "nodeType": "Return", - "src": "5452:41:4" - } - ] - }, - "documentation": { - "id": 7109, - "nodeType": "StructuredDocumentation", - "src": "5283:71:4", - "text": " @dev Returns whether an operation is pending or not." - }, - "functionSelector": "584b153e", - "id": 7123, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isOperationPending", - "nameLocation": "5368:18:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7111, - "mutability": "mutable", - "name": "id", - "nameLocation": "5395:2:4", - "nodeType": "VariableDeclaration", - "scope": 7123, - "src": "5387:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7110, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5387:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5386:12:4" - }, - "returnParameters": { - "id": 7115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7114, - "mutability": "mutable", - "name": "pending", - "nameLocation": "5433:7:4", - "nodeType": "VariableDeclaration", - "scope": 7123, - "src": "5428:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7113, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5428:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5427:14:4" - }, - "scope": 7756, - "src": "5359:141:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7146, - "nodeType": "Block", - "src": "5659:129:4", - "statements": [ - { - "assignments": [ - 7132 - ], - "declarations": [ - { - "constant": false, - "id": 7132, - "mutability": "mutable", - "name": "timestamp", - "nameLocation": "5677:9:4", - "nodeType": "VariableDeclaration", - "scope": 7146, - "src": "5669:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5669:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 7136, - "initialValue": { - "arguments": [ - { - "id": 7134, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7126, - "src": "5702:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7133, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7175, - "src": "5689:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 7135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5689:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5669:36:4" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7137, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7132, - "src": "5722:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 7138, - "name": "_DONE_TIMESTAMP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6881, - "src": "5734:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5722:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7140, - "name": "timestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7132, - "src": "5753:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "expression": { - "id": 7141, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "5766:5:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 7142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5772:9:4", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "5766:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5753:28:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5722:59:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7130, - "id": 7145, - "nodeType": "Return", - "src": "5715:66:4" - } - ] - }, - "documentation": { - "id": 7124, - "nodeType": "StructuredDocumentation", - "src": "5506:69:4", - "text": " @dev Returns whether an operation is ready or not." - }, - "functionSelector": "13bc9f20", - "id": 7147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isOperationReady", - "nameLocation": "5589:16:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7126, - "mutability": "mutable", - "name": "id", - "nameLocation": "5614:2:4", - "nodeType": "VariableDeclaration", - "scope": 7147, - "src": "5606:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7125, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5606:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5605:12:4" - }, - "returnParameters": { - "id": 7130, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7129, - "mutability": "mutable", - "name": "ready", - "nameLocation": "5652:5:4", - "nodeType": "VariableDeclaration", - "scope": 7147, - "src": "5647:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7128, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5647:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5646:12:4" - }, - "scope": 7756, - "src": "5580:208:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7161, - "nodeType": "Block", - "src": "5944:59:4", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 7156, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7150, - "src": "5974:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7155, - "name": "getTimestamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7175, - "src": "5961:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 7157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5961:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 7158, - "name": "_DONE_TIMESTAMP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6881, - "src": "5981:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5961:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7154, - "id": 7160, - "nodeType": "Return", - "src": "5954:42:4" - } - ] - }, - "documentation": { - "id": 7148, - "nodeType": "StructuredDocumentation", - "src": "5794:68:4", - "text": " @dev Returns whether an operation is done or not." - }, - "functionSelector": "2ab0f529", - "id": 7162, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isOperationDone", - "nameLocation": "5876:15:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7150, - "mutability": "mutable", - "name": "id", - "nameLocation": "5900:2:4", - "nodeType": "VariableDeclaration", - "scope": 7162, - "src": "5892:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5892:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5891:12:4" - }, - "returnParameters": { - "id": 7154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7153, - "mutability": "mutable", - "name": "done", - "nameLocation": "5938:4:4", - "nodeType": "VariableDeclaration", - "scope": 7162, - "src": "5933:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7152, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5933:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5932:11:4" - }, - "scope": 7756, - "src": "5867:136:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7174, - "nodeType": "Block", - "src": "6232:39:4", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 7170, - "name": "_timestamps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6885, - "src": "6249:11:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 7172, - "indexExpression": { - "id": 7171, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7165, - "src": "6261:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6249:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7169, - "id": 7173, - "nodeType": "Return", - "src": "6242:22:4" - } - ] - }, - "documentation": { - "id": 7163, - "nodeType": "StructuredDocumentation", - "src": "6009:136:4", - "text": " @dev Returns the timestamp at with an operation becomes ready (0 for\n unset operations, 1 for done operations)." - }, - "functionSelector": "d45c4435", - "id": 7175, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTimestamp", - "nameLocation": "6159:12:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7165, - "mutability": "mutable", - "name": "id", - "nameLocation": "6180:2:4", - "nodeType": "VariableDeclaration", - "scope": 7175, - "src": "6172:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7164, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6172:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6171:12:4" - }, - "returnParameters": { - "id": 7169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7168, - "mutability": "mutable", - "name": "timestamp", - "nameLocation": "6221:9:4", - "nodeType": "VariableDeclaration", - "scope": 7175, - "src": "6213:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6213:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6212:19:4" - }, - "scope": 7756, - "src": "6150:121:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7183, - "nodeType": "Block", - "src": "6527:33:4", - "statements": [ - { - "expression": { - "id": 7181, - "name": "_minDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "6544:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7180, - "id": 7182, - "nodeType": "Return", - "src": "6537:16:4" - } - ] - }, - "documentation": { - "id": 7176, - "nodeType": "StructuredDocumentation", - "src": "6277:175:4", - "text": " @dev Returns the minimum delay for an operation to become valid.\n This value can be changed by executing an operation that calls `updateDelay`." - }, - "functionSelector": "f27a0c92", - "id": 7184, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMinDelay", - "nameLocation": "6466:11:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7177, - "nodeType": "ParameterList", - "parameters": [], - "src": "6477:2:4" - }, - "returnParameters": { - "id": 7180, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7179, - "mutability": "mutable", - "name": "duration", - "nameLocation": "6517:8:4", - "nodeType": "VariableDeclaration", - "scope": 7184, - "src": "6509:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6509:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6508:18:4" - }, - "scope": 7756, - "src": "6457:103:4", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7211, - "nodeType": "Block", - "src": "6872:85:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 7203, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7187, - "src": "6910:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7204, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7189, - "src": "6918:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7205, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7191, - "src": "6925:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 7206, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7193, - "src": "6931:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7207, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7195, - "src": "6944:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 7201, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "6899:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "6903:6:4", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "6899:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 7208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6899:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7200, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "6889:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 7209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6889:61:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 7199, - "id": 7210, - "nodeType": "Return", - "src": "6882:68:4" - } - ] - }, - "documentation": { - "id": 7185, - "nodeType": "StructuredDocumentation", - "src": "6566:102:4", - "text": " @dev Returns the identifier of an operation containing a single\n transaction." - }, - "functionSelector": "8065657f", - "id": 7212, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "hashOperation", - "nameLocation": "6682:13:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7187, - "mutability": "mutable", - "name": "target", - "nameLocation": "6713:6:4", - "nodeType": "VariableDeclaration", - "scope": 7212, - "src": "6705:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7186, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6705:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7189, - "mutability": "mutable", - "name": "value", - "nameLocation": "6737:5:4", - "nodeType": "VariableDeclaration", - "scope": 7212, - "src": "6729:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6729:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7191, - "mutability": "mutable", - "name": "data", - "nameLocation": "6767:4:4", - "nodeType": "VariableDeclaration", - "scope": 7212, - "src": "6752:19:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7190, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6752:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7193, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "6789:11:4", - "nodeType": "VariableDeclaration", - "scope": 7212, - "src": "6781:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7192, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6781:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7195, - "mutability": "mutable", - "name": "salt", - "nameLocation": "6818:4:4", - "nodeType": "VariableDeclaration", - "scope": 7212, - "src": "6810:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7194, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6810:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6695:133:4" - }, - "returnParameters": { - "id": 7199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7198, - "mutability": "mutable", - "name": "hash", - "nameLocation": "6866:4:4", - "nodeType": "VariableDeclaration", - "scope": 7212, - "src": "6858:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7197, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6858:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6857:14:4" - }, - "scope": 7756, - "src": "6673:284:4", - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7242, - "nodeType": "Block", - "src": "7307:91:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 7234, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "7345:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - { - "id": 7235, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7219, - "src": "7354:6:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "id": 7236, - "name": "payloads", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "7362:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - { - "id": 7237, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7224, - "src": "7372:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7238, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7226, - "src": "7385:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 7232, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7334:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7338:6:4", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "7334:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 7239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7334:56:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7231, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "7324:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 7240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7324:67:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 7230, - "id": 7241, - "nodeType": "Return", - "src": "7317:74:4" - } - ] - }, - "documentation": { - "id": 7213, - "nodeType": "StructuredDocumentation", - "src": "6963:105:4", - "text": " @dev Returns the identifier of an operation containing a batch of\n transactions." - }, - "functionSelector": "b1c5f427", - "id": 7243, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "hashOperationBatch", - "nameLocation": "7082:18:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7227, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7216, - "mutability": "mutable", - "name": "targets", - "nameLocation": "7129:7:4", - "nodeType": "VariableDeclaration", - "scope": 7243, - "src": "7110:26:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7214, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7110:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7215, - "nodeType": "ArrayTypeName", - "src": "7110:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7219, - "mutability": "mutable", - "name": "values", - "nameLocation": "7165:6:4", - "nodeType": "VariableDeclaration", - "scope": 7243, - "src": "7146:25:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7146:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7218, - "nodeType": "ArrayTypeName", - "src": "7146:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7222, - "mutability": "mutable", - "name": "payloads", - "nameLocation": "7198:8:4", - "nodeType": "VariableDeclaration", - "scope": 7243, - "src": "7181:25:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 7220, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7181:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 7221, - "nodeType": "ArrayTypeName", - "src": "7181:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7224, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "7224:11:4", - "nodeType": "VariableDeclaration", - "scope": 7243, - "src": "7216:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7223, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7216:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7226, - "mutability": "mutable", - "name": "salt", - "nameLocation": "7253:4:4", - "nodeType": "VariableDeclaration", - "scope": 7243, - "src": "7245:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7225, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7245:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7100:163:4" - }, - "returnParameters": { - "id": 7230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7229, - "mutability": "mutable", - "name": "hash", - "nameLocation": "7301:4:4", - "nodeType": "VariableDeclaration", - "scope": 7243, - "src": "7293:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7228, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7293:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "7292:14:4" - }, - "scope": 7756, - "src": "7073:325:4", - "stateMutability": "pure", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7287, - "nodeType": "Block", - "src": "7831:189:4", - "statements": [ - { - "assignments": [ - 7263 - ], - "declarations": [ - { - "constant": false, - "id": 7263, - "mutability": "mutable", - "name": "id", - "nameLocation": "7849:2:4", - "nodeType": "VariableDeclaration", - "scope": 7287, - "src": "7841:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7262, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7841:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 7271, - "initialValue": { - "arguments": [ - { - "id": 7265, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7246, - "src": "7868:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7266, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "7876:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7267, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "7883:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 7268, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7252, - "src": "7889:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7269, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7254, - "src": "7902:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7264, - "name": "hashOperation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "7854:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)" - } - }, - "id": 7270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7854:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7841:66:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7273, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7263, - "src": "7927:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7274, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "7931:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7272, - "name": "_schedule", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7407, - "src": "7917:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 7275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7917:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7276, - "nodeType": "ExpressionStatement", - "src": "7917:20:4" - }, - { - "eventCall": { - "arguments": [ - { - "id": 7278, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7263, - "src": "7966:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "30", - "id": 7279, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7970:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 7280, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7246, - "src": "7973:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7281, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "7981:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7282, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "7988:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 7283, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7252, - "src": "7994:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7284, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7256, - "src": "8007:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7277, - "name": "CallScheduled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "7952:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)" - } - }, - "id": 7285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7952:61:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7286, - "nodeType": "EmitStatement", - "src": "7947:66:4" - } - ] - }, - "documentation": { - "id": 7244, - "nodeType": "StructuredDocumentation", - "src": "7404:209:4", - "text": " @dev Schedule an operation containing a single transaction.\n Emits a {CallScheduled} event.\n Requirements:\n - the caller must have the 'proposer' role." - }, - "functionSelector": "01d5062a", - "id": 7288, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 7259, - "name": "PROPOSER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "7816:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 7260, - "kind": "modifierInvocation", - "modifierName": { - "id": 7258, - "name": "onlyRole", - "nameLocations": [ - "7807:8:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10509, - "src": "7807:8:4" - }, - "nodeType": "ModifierInvocation", - "src": "7807:23:4" - } - ], - "name": "schedule", - "nameLocation": "7627:8:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7246, - "mutability": "mutable", - "name": "target", - "nameLocation": "7653:6:4", - "nodeType": "VariableDeclaration", - "scope": 7288, - "src": "7645:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7645:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7248, - "mutability": "mutable", - "name": "value", - "nameLocation": "7677:5:4", - "nodeType": "VariableDeclaration", - "scope": 7288, - "src": "7669:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7669:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7250, - "mutability": "mutable", - "name": "data", - "nameLocation": "7707:4:4", - "nodeType": "VariableDeclaration", - "scope": 7288, - "src": "7692:19:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7249, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7692:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7252, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "7729:11:4", - "nodeType": "VariableDeclaration", - "scope": 7288, - "src": "7721:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7251, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7721:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7254, - "mutability": "mutable", - "name": "salt", - "nameLocation": "7758:4:4", - "nodeType": "VariableDeclaration", - "scope": 7288, - "src": "7750:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7253, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7750:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7256, - "mutability": "mutable", - "name": "delay", - "nameLocation": "7780:5:4", - "nodeType": "VariableDeclaration", - "scope": 7288, - "src": "7772:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7255, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7772:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7635:156:4" - }, - "returnParameters": { - "id": 7261, - "nodeType": "ParameterList", - "parameters": [], - "src": "7831:0:4" - }, - "scope": 7756, - "src": "7618:402:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7372, - "nodeType": "Block", - "src": "8522:465:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 7311, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7292, - "src": "8540:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8548:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8540:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 7313, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "8558:6:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 7314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8565:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8558:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8540:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368", - "id": 7316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8573:37:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - }, - "value": "TimelockController: length mismatch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - } - ], - "id": 7310, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8532:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8532:79:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7318, - "nodeType": "ExpressionStatement", - "src": "8532:79:4" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 7320, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7292, - "src": "8629:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8637:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8629:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 7322, - "name": "payloads", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7298, - "src": "8647:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - "id": 7323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8656:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8647:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8629:33:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368", - "id": 7325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8664:37:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - }, - "value": "TimelockController: length mismatch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - } - ], - "id": 7319, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8621:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8621:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7327, - "nodeType": "ExpressionStatement", - "src": "8621:81:4" - }, - { - "assignments": [ - 7329 - ], - "declarations": [ - { - "constant": false, - "id": 7329, - "mutability": "mutable", - "name": "id", - "nameLocation": "8721:2:4", - "nodeType": "VariableDeclaration", - "scope": 7372, - "src": "8713:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7328, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8713:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 7337, - "initialValue": { - "arguments": [ - { - "id": 7331, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7292, - "src": "8745:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - { - "id": 7332, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "8754:6:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "id": 7333, - "name": "payloads", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7298, - "src": "8762:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - { - "id": 7334, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7300, - "src": "8772:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7335, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7302, - "src": "8785:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7330, - "name": "hashOperationBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7243, - "src": "8726:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)" - } - }, - "id": 7336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8726:64:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8713:77:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7339, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7329, - "src": "8810:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7340, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "8814:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7338, - "name": "_schedule", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7407, - "src": "8800:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 7341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8800:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7342, - "nodeType": "ExpressionStatement", - "src": "8800:20:4" - }, - { - "body": { - "id": 7370, - "nodeType": "Block", - "src": "8875:106:4", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 7355, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7329, - "src": "8908:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7356, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "8912:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "id": 7357, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7292, - "src": "8915:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7359, - "indexExpression": { - "id": 7358, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "8923:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8915:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "baseExpression": { - "id": 7360, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "8927:6:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 7362, - "indexExpression": { - "id": 7361, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "8934:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8927:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "id": 7363, - "name": "payloads", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7298, - "src": "8938:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - "id": 7365, - "indexExpression": { - "id": 7364, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "8947:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8938:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 7366, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7300, - "src": "8951:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7367, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "8964:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7354, - "name": "CallScheduled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "8894:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)" - } - }, - "id": 7368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8894:76:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7369, - "nodeType": "EmitStatement", - "src": "8889:81:4" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7347, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "8850:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 7348, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7292, - "src": "8854:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8862:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8854:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8850:18:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7371, - "initializationExpression": { - "assignments": [ - 7344 - ], - "declarations": [ - { - "constant": false, - "id": 7344, - "mutability": "mutable", - "name": "i", - "nameLocation": "8843:1:4", - "nodeType": "VariableDeclaration", - "scope": 7371, - "src": "8835:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8835:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 7346, - "initialValue": { - "hexValue": "30", - "id": 7345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8847:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8835:13:4" - }, - "loopExpression": { - "expression": { - "id": 7352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "8870:3:4", - "subExpression": { - "id": 7351, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "8872:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7353, - "nodeType": "ExpressionStatement", - "src": "8870:3:4" - }, - "nodeType": "ForStatement", - "src": "8830:151:4" - } - ] - }, - "documentation": { - "id": 7289, - "nodeType": "StructuredDocumentation", - "src": "8026:243:4", - "text": " @dev Schedule an operation containing a batch of transactions.\n Emits one {CallScheduled} event per transaction in the batch.\n Requirements:\n - the caller must have the 'proposer' role." - }, - "functionSelector": "8f2a0bb0", - "id": 7373, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 7307, - "name": "PROPOSER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "8507:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 7308, - "kind": "modifierInvocation", - "modifierName": { - "id": 7306, - "name": "onlyRole", - "nameLocations": [ - "8498:8:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10509, - "src": "8498:8:4" - }, - "nodeType": "ModifierInvocation", - "src": "8498:23:4" - } - ], - "name": "scheduleBatch", - "nameLocation": "8283:13:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7292, - "mutability": "mutable", - "name": "targets", - "nameLocation": "8325:7:4", - "nodeType": "VariableDeclaration", - "scope": 7373, - "src": "8306:26:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8306:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7291, - "nodeType": "ArrayTypeName", - "src": "8306:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7295, - "mutability": "mutable", - "name": "values", - "nameLocation": "8361:6:4", - "nodeType": "VariableDeclaration", - "scope": 7373, - "src": "8342:25:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8342:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7294, - "nodeType": "ArrayTypeName", - "src": "8342:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7298, - "mutability": "mutable", - "name": "payloads", - "nameLocation": "8394:8:4", - "nodeType": "VariableDeclaration", - "scope": 7373, - "src": "8377:25:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 7296, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8377:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 7297, - "nodeType": "ArrayTypeName", - "src": "8377:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7300, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "8420:11:4", - "nodeType": "VariableDeclaration", - "scope": 7373, - "src": "8412:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7299, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8412:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7302, - "mutability": "mutable", - "name": "salt", - "nameLocation": "8449:4:4", - "nodeType": "VariableDeclaration", - "scope": 7373, - "src": "8441:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7301, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8441:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7304, - "mutability": "mutable", - "name": "delay", - "nameLocation": "8471:5:4", - "nodeType": "VariableDeclaration", - "scope": 7373, - "src": "8463:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7303, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8463:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8296:186:4" - }, - "returnParameters": { - "id": 7309, - "nodeType": "ParameterList", - "parameters": [], - "src": "8522:0:4" - }, - "scope": 7756, - "src": "8274:713:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7406, - "nodeType": "Block", - "src": "9143:227:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 7385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9161:16:4", - "subExpression": { - "arguments": [ - { - "id": 7383, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7376, - "src": "9174:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7382, - "name": "isOperation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7108, - "src": "9162:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 7384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9162:15:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c7265616479207363686564756c6564", - "id": 7386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9179:49:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b2e50231ecb348ec53d87c71b0f084343770a9a06cbe6e2505c22b7e29d233fe", - "typeString": "literal_string \"TimelockController: operation already scheduled\"" - }, - "value": "TimelockController: operation already scheduled" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b2e50231ecb348ec53d87c71b0f084343770a9a06cbe6e2505c22b7e29d233fe", - "typeString": "literal_string \"TimelockController: operation already scheduled\"" - } - ], - "id": 7381, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9153:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9153:76:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7388, - "nodeType": "ExpressionStatement", - "src": "9153:76:4" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7390, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7378, - "src": "9247:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7391, - "name": "getMinDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7184, - "src": "9256:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 7392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9256:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9247:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e742064656c6179", - "id": 7394, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9271:40:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_75aaed5c76f1bea21a1c6dab60898c911c430cd1eac23b8d8a559aa50cb17eca", - "typeString": "literal_string \"TimelockController: insufficient delay\"" - }, - "value": "TimelockController: insufficient delay" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_75aaed5c76f1bea21a1c6dab60898c911c430cd1eac23b8d8a559aa50cb17eca", - "typeString": "literal_string \"TimelockController: insufficient delay\"" - } - ], - "id": 7389, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9239:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9239:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7396, - "nodeType": "ExpressionStatement", - "src": "9239:73:4" - }, - { - "expression": { - "id": 7404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 7397, - "name": "_timestamps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6885, - "src": "9322:11:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 7399, - "indexExpression": { - "id": 7398, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7376, - "src": "9334:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9322:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 7400, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "9340:5:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 7401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9346:9:4", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "9340:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 7402, - "name": "delay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7378, - "src": "9358:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9340:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9322:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7405, - "nodeType": "ExpressionStatement", - "src": "9322:41:4" - } - ] - }, - "documentation": { - "id": 7374, - "nodeType": "StructuredDocumentation", - "src": "8993:91:4", - "text": " @dev Schedule an operation that is to becomes valid after a given delay." - }, - "id": 7407, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_schedule", - "nameLocation": "9098:9:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7376, - "mutability": "mutable", - "name": "id", - "nameLocation": "9116:2:4", - "nodeType": "VariableDeclaration", - "scope": 7407, - "src": "9108:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7375, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9108:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7378, - "mutability": "mutable", - "name": "delay", - "nameLocation": "9128:5:4", - "nodeType": "VariableDeclaration", - "scope": 7407, - "src": "9120:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7377, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9120:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9107:27:4" - }, - "returnParameters": { - "id": 7380, - "nodeType": "ParameterList", - "parameters": [], - "src": "9143:0:4" - }, - "scope": 7756, - "src": "9089:281:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 7432, - "nodeType": "Block", - "src": "9580:162:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 7418, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7410, - "src": "9617:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7417, - "name": "isOperationPending", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7123, - "src": "9598:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 7419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9598:22:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616e6e6f742062652063616e63656c6c6564", - "id": 7420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9622:51:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da89af2fc5eaabb52110eb28e200457fadb874889554529840e92529248f2d41", - "typeString": "literal_string \"TimelockController: operation cannot be cancelled\"" - }, - "value": "TimelockController: operation cannot be cancelled" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_da89af2fc5eaabb52110eb28e200457fadb874889554529840e92529248f2d41", - "typeString": "literal_string \"TimelockController: operation cannot be cancelled\"" - } - ], - "id": 7416, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9590:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9590:84:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7422, - "nodeType": "ExpressionStatement", - "src": "9590:84:4" - }, - { - "expression": { - "id": 7426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "9684:22:4", - "subExpression": { - "baseExpression": { - "id": 7423, - "name": "_timestamps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6885, - "src": "9691:11:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 7425, - "indexExpression": { - "id": 7424, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7410, - "src": "9703:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9691:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7427, - "nodeType": "ExpressionStatement", - "src": "9684:22:4" - }, - { - "eventCall": { - "arguments": [ - { - "id": 7429, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7410, - "src": "9732:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7428, - "name": "Cancelled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6922, - "src": "9722:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 7430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9722:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7431, - "nodeType": "EmitStatement", - "src": "9717:18:4" - } - ] - }, - "documentation": { - "id": 7408, - "nodeType": "StructuredDocumentation", - "src": "9376:131:4", - "text": " @dev Cancel an operation.\n Requirements:\n - the caller must have the 'canceller' role." - }, - "functionSelector": "c4d252f5", - "id": 7433, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 7413, - "name": "CANCELLER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6875, - "src": "9564:14:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 7414, - "kind": "modifierInvocation", - "modifierName": { - "id": 7412, - "name": "onlyRole", - "nameLocations": [ - "9555:8:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 10509, - "src": "9555:8:4" - }, - "nodeType": "ModifierInvocation", - "src": "9555:24:4" - } - ], - "name": "cancel", - "nameLocation": "9521:6:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7410, - "mutability": "mutable", - "name": "id", - "nameLocation": "9536:2:4", - "nodeType": "VariableDeclaration", - "scope": 7433, - "src": "9528:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7409, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9528:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "9527:12:4" - }, - "returnParameters": { - "id": 7415, - "nodeType": "ParameterList", - "parameters": [], - "src": "9580:0:4" - }, - "scope": 7756, - "src": "9512:230:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7483, - "nodeType": "Block", - "src": "10426:249:4", - "statements": [ - { - "assignments": [ - 7451 - ], - "declarations": [ - { - "constant": false, - "id": 7451, - "mutability": "mutable", - "name": "id", - "nameLocation": "10444:2:4", - "nodeType": "VariableDeclaration", - "scope": 7483, - "src": "10436:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7450, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10436:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 7459, - "initialValue": { - "arguments": [ - { - "id": 7453, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "10463:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7454, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "10471:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7455, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7440, - "src": "10478:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 7456, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "10487:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7457, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7444, - "src": "10500:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7452, - "name": "hashOperation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "10449:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)" - } - }, - "id": 7458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10449:56:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10436:69:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7461, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7451, - "src": "10528:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7462, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "10532:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7460, - "name": "_beforeCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7642, - "src": "10516:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32) view" - } - }, - "id": 7463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10516:28:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7464, - "nodeType": "ExpressionStatement", - "src": "10516:28:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7466, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "10563:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7467, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "10571:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7468, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7440, - "src": "10578:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 7465, - "name": "_execute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "10554:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes calldata)" - } - }, - "id": 7469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10554:32:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7470, - "nodeType": "ExpressionStatement", - "src": "10554:32:4" - }, - { - "eventCall": { - "arguments": [ - { - "id": 7472, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7451, - "src": "10614:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "30", - "id": 7473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10618:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 7474, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "10621:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7475, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "10629:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7476, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7440, - "src": "10636:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 7471, - "name": "CallExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6917, - "src": "10601:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes32,uint256,address,uint256,bytes memory)" - } - }, - "id": 7477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10601:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7478, - "nodeType": "EmitStatement", - "src": "10596:48:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7480, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7451, - "src": "10665:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7479, - "name": "_afterCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7662, - "src": "10654:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 7481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10654:14:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7482, - "nodeType": "ExpressionStatement", - "src": "10654:14:4" - } - ] - }, - "documentation": { - "id": 7434, - "nodeType": "StructuredDocumentation", - "src": "9748:215:4", - "text": " @dev Execute an (ready) operation containing a single transaction.\n Emits a {CallExecuted} event.\n Requirements:\n - the caller must have the 'executor' role." - }, - "functionSelector": "134008d3", - "id": 7484, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 7447, - "name": "EXECUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "10411:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 7448, - "kind": "modifierInvocation", - "modifierName": { - "id": 7446, - "name": "onlyRoleOrOpenRole", - "nameLocations": [ - "10392:18:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7064, - "src": "10392:18:4" - }, - "nodeType": "ModifierInvocation", - "src": "10392:33:4" - } - ], - "name": "execute", - "nameLocation": "10225:7:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7436, - "mutability": "mutable", - "name": "target", - "nameLocation": "10250:6:4", - "nodeType": "VariableDeclaration", - "scope": 7484, - "src": "10242:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10242:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7438, - "mutability": "mutable", - "name": "value", - "nameLocation": "10274:5:4", - "nodeType": "VariableDeclaration", - "scope": 7484, - "src": "10266:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10266:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7440, - "mutability": "mutable", - "name": "payload", - "nameLocation": "10304:7:4", - "nodeType": "VariableDeclaration", - "scope": 7484, - "src": "10289:22:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7439, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10289:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7442, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "10329:11:4", - "nodeType": "VariableDeclaration", - "scope": 7484, - "src": "10321:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7441, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10321:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7444, - "mutability": "mutable", - "name": "salt", - "nameLocation": "10358:4:4", - "nodeType": "VariableDeclaration", - "scope": 7484, - "src": "10350:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7443, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10350:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "10232:136:4" - }, - "returnParameters": { - "id": 7449, - "nodeType": "ParameterList", - "parameters": [], - "src": "10426:0:4" - }, - "scope": 7756, - "src": "10216:459:4", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7586, - "nodeType": "Block", - "src": "11177:641:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 7505, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "11195:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11203:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11195:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 7507, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7491, - "src": "11213:6:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 7508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11220:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11213:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11195:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368", - "id": 7510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11228:37:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - }, - "value": "TimelockController: length mismatch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - } - ], - "id": 7504, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11187:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11187:79:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7512, - "nodeType": "ExpressionStatement", - "src": "11187:79:4" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 7514, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "11284:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11292:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11284:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 7516, - "name": "payloads", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7494, - "src": "11302:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - "id": 7517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11311:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11302:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11284:33:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d61746368", - "id": 7519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11319:37:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - }, - "value": "TimelockController: length mismatch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0c14c6f30381b2bdef28138a7ead69cb623f2ab2f3d25f0cebf8e7f631a759d0", - "typeString": "literal_string \"TimelockController: length mismatch\"" - } - ], - "id": 7513, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11276:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11276:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7521, - "nodeType": "ExpressionStatement", - "src": "11276:81:4" - }, - { - "assignments": [ - 7523 - ], - "declarations": [ - { - "constant": false, - "id": 7523, - "mutability": "mutable", - "name": "id", - "nameLocation": "11376:2:4", - "nodeType": "VariableDeclaration", - "scope": 7586, - "src": "11368:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7522, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11368:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 7531, - "initialValue": { - "arguments": [ - { - "id": 7525, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "11400:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - { - "id": 7526, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7491, - "src": "11409:6:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "id": 7527, - "name": "payloads", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7494, - "src": "11417:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - { - "id": 7528, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7496, - "src": "11427:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7529, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7498, - "src": "11440:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7524, - "name": "hashOperationBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7243, - "src": "11381:18:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)" - } - }, - "id": 7530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11381:64:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11368:77:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7533, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7523, - "src": "11468:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7534, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7496, - "src": "11472:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7532, - "name": "_beforeCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7642, - "src": "11456:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32) view" - } - }, - "id": 7535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11456:28:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7536, - "nodeType": "ExpressionStatement", - "src": "11456:28:4" - }, - { - "body": { - "id": 7580, - "nodeType": "Block", - "src": "11539:249:4", - "statements": [ - { - "assignments": [ - 7549 - ], - "declarations": [ - { - "constant": false, - "id": 7549, - "mutability": "mutable", - "name": "target", - "nameLocation": "11561:6:4", - "nodeType": "VariableDeclaration", - "scope": 7580, - "src": "11553:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7548, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11553:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 7553, - "initialValue": { - "baseExpression": { - "id": 7550, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "11570:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7552, - "indexExpression": { - "id": 7551, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "11578:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11570:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11553:27:4" - }, - { - "assignments": [ - 7555 - ], - "declarations": [ - { - "constant": false, - "id": 7555, - "mutability": "mutable", - "name": "value", - "nameLocation": "11602:5:4", - "nodeType": "VariableDeclaration", - "scope": 7580, - "src": "11594:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11594:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 7559, - "initialValue": { - "baseExpression": { - "id": 7556, - "name": "values", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7491, - "src": "11610:6:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 7558, - "indexExpression": { - "id": 7557, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "11617:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11610:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11594:25:4" - }, - { - "assignments": [ - 7561 - ], - "declarations": [ - { - "constant": false, - "id": 7561, - "mutability": "mutable", - "name": "payload", - "nameLocation": "11648:7:4", - "nodeType": "VariableDeclaration", - "scope": 7580, - "src": "11633:22:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7560, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11633:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 7565, - "initialValue": { - "baseExpression": { - "id": 7562, - "name": "payloads", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7494, - "src": "11658:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes calldata[] calldata" - } - }, - "id": 7564, - "indexExpression": { - "id": 7563, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "11667:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11658:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11633:36:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7567, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "11692:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7568, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7555, - "src": "11700:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7569, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7561, - "src": "11707:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 7566, - "name": "_execute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7612, - "src": "11683:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes calldata)" - } - }, - "id": 7570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11683:32:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7571, - "nodeType": "ExpressionStatement", - "src": "11683:32:4" - }, - { - "eventCall": { - "arguments": [ - { - "id": 7573, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7523, - "src": "11747:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 7574, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "11751:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7575, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "11754:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 7576, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7555, - "src": "11762:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7577, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7561, - "src": "11769:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 7572, - "name": "CallExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6917, - "src": "11734:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes32,uint256,address,uint256,bytes memory)" - } - }, - "id": 7578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11734:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7579, - "nodeType": "EmitStatement", - "src": "11729:48:4" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7541, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "11514:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 7542, - "name": "targets", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "11518:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 7543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11526:6:4", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11518:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11514:18:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7581, - "initializationExpression": { - "assignments": [ - 7538 - ], - "declarations": [ - { - "constant": false, - "id": 7538, - "mutability": "mutable", - "name": "i", - "nameLocation": "11507:1:4", - "nodeType": "VariableDeclaration", - "scope": 7581, - "src": "11499:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11499:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 7540, - "initialValue": { - "hexValue": "30", - "id": 7539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11511:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11499:13:4" - }, - "loopExpression": { - "expression": { - "id": 7546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "11534:3:4", - "subExpression": { - "id": 7545, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "11536:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7547, - "nodeType": "ExpressionStatement", - "src": "11534:3:4" - }, - "nodeType": "ForStatement", - "src": "11494:294:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7583, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7523, - "src": "11808:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7582, - "name": "_afterCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7662, - "src": "11797:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 7584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11797:14:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7585, - "nodeType": "ExpressionStatement", - "src": "11797:14:4" - } - ] - }, - "documentation": { - "id": 7485, - "nodeType": "StructuredDocumentation", - "src": "10681:249:4", - "text": " @dev Execute an (ready) operation containing a batch of transactions.\n Emits one {CallExecuted} event per transaction in the batch.\n Requirements:\n - the caller must have the 'executor' role." - }, - "functionSelector": "e38335e5", - "id": 7587, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 7501, - "name": "EXECUTOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6870, - "src": "11162:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 7502, - "kind": "modifierInvocation", - "modifierName": { - "id": 7500, - "name": "onlyRoleOrOpenRole", - "nameLocations": [ - "11143:18:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7064, - "src": "11143:18:4" - }, - "nodeType": "ModifierInvocation", - "src": "11143:33:4" - } - ], - "name": "executeBatch", - "nameLocation": "10944:12:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7488, - "mutability": "mutable", - "name": "targets", - "nameLocation": "10985:7:4", - "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "10966:26:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7486, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10966:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7487, - "nodeType": "ArrayTypeName", - "src": "10966:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7491, - "mutability": "mutable", - "name": "values", - "nameLocation": "11021:6:4", - "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "11002:25:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7489, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11002:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7490, - "nodeType": "ArrayTypeName", - "src": "11002:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7494, - "mutability": "mutable", - "name": "payloads", - "nameLocation": "11054:8:4", - "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "11037:25:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 7492, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11037:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 7493, - "nodeType": "ArrayTypeName", - "src": "11037:7:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7496, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "11080:11:4", - "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "11072:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7495, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11072:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7498, - "mutability": "mutable", - "name": "salt", - "nameLocation": "11109:4:4", - "nodeType": "VariableDeclaration", - "scope": 7587, - "src": "11101:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7497, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11101:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "10956:163:4" - }, - "returnParameters": { - "id": 7503, - "nodeType": "ParameterList", - "parameters": [], - "src": "11177:0:4" - }, - "scope": 7756, - "src": "10935:883:4", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7611, - "nodeType": "Block", - "src": "11998:148:4", - "statements": [ - { - "assignments": [ - 7598, - null - ], - "declarations": [ - { - "constant": false, - "id": 7598, - "mutability": "mutable", - "name": "success", - "nameLocation": "12014:7:4", - "nodeType": "VariableDeclaration", - "scope": 7611, - "src": "12009:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7597, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12009:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 7605, - "initialValue": { - "arguments": [ - { - "id": 7603, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7594, - "src": "12053:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 7599, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7590, - "src": "12027:6:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12034:4:4", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "12027:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 7601, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7592, - "src": "12046:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "12027:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12027:31:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12008:50:4" - }, - { - "expression": { - "arguments": [ - { - "id": 7607, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7598, - "src": "12076:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e67207472616e73616374696f6e207265766572746564", - "id": 7608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12085:53:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fbe63f64b4d04d8b888d3da1b3ef528c7e3e8181ee7a63834cb97d1e3be7bcbf", - "typeString": "literal_string \"TimelockController: underlying transaction reverted\"" - }, - "value": "TimelockController: underlying transaction reverted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fbe63f64b4d04d8b888d3da1b3ef528c7e3e8181ee7a63834cb97d1e3be7bcbf", - "typeString": "literal_string \"TimelockController: underlying transaction reverted\"" - } - ], - "id": 7606, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12068:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12068:71:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7610, - "nodeType": "ExpressionStatement", - "src": "12068:71:4" - } - ] - }, - "documentation": { - "id": 7588, - "nodeType": "StructuredDocumentation", - "src": "11824:52:4", - "text": " @dev Execute an operation's call." - }, - "id": 7612, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_execute", - "nameLocation": "11890:8:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7590, - "mutability": "mutable", - "name": "target", - "nameLocation": "11916:6:4", - "nodeType": "VariableDeclaration", - "scope": 7612, - "src": "11908:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7589, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11908:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7592, - "mutability": "mutable", - "name": "value", - "nameLocation": "11940:5:4", - "nodeType": "VariableDeclaration", - "scope": 7612, - "src": "11932:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7591, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11932:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7594, - "mutability": "mutable", - "name": "data", - "nameLocation": "11970:4:4", - "nodeType": "VariableDeclaration", - "scope": 7612, - "src": "11955:19:4", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7593, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11955:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "11898:82:4" - }, - "returnParameters": { - "id": 7596, - "nodeType": "ParameterList", - "parameters": [], - "src": "11998:0:4" - }, - "scope": 7756, - "src": "11881:265:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 7641, - "nodeType": "Block", - "src": "12296:210:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 7622, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "12331:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7621, - "name": "isOperationReady", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7147, - "src": "12314:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 7623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12314:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973206e6f74207265616479", - "id": 7624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12336:44:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603", - "typeString": "literal_string \"TimelockController: operation is not ready\"" - }, - "value": "TimelockController: operation is not ready" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603", - "typeString": "literal_string \"TimelockController: operation is not ready\"" - } - ], - "id": 7620, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12306:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12306:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7626, - "nodeType": "ExpressionStatement", - "src": "12306:75:4" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 7637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 7633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 7628, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "12399:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 7631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12422:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7630, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12414:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 7629, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12414:7:4", - "typeDescriptions": {} - } - }, - "id": 7632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12414:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12399:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 7635, - "name": "predecessor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "12444:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7634, - "name": "isOperationDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7162, - "src": "12428:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 7636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12428:28:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12399:57:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656e64656e6379", - "id": 7638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12458:40:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_085b5849f077fe696490280fee046708c1e4f3bcf6af0860b3ba8ae447863111", - "typeString": "literal_string \"TimelockController: missing dependency\"" - }, - "value": "TimelockController: missing dependency" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_085b5849f077fe696490280fee046708c1e4f3bcf6af0860b3ba8ae447863111", - "typeString": "literal_string \"TimelockController: missing dependency\"" - } - ], - "id": 7627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12391:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12391:108:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7640, - "nodeType": "ExpressionStatement", - "src": "12391:108:4" - } - ] - }, - "documentation": { - "id": 7613, - "nodeType": "StructuredDocumentation", - "src": "12152:72:4", - "text": " @dev Checks before execution of an operation's calls." - }, - "id": 7642, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeCall", - "nameLocation": "12238:11:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7618, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7615, - "mutability": "mutable", - "name": "id", - "nameLocation": "12258:2:4", - "nodeType": "VariableDeclaration", - "scope": 7642, - "src": "12250:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7614, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12250:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7617, - "mutability": "mutable", - "name": "predecessor", - "nameLocation": "12270:11:4", - "nodeType": "VariableDeclaration", - "scope": 7642, - "src": "12262:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7616, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12262:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "12249:33:4" - }, - "returnParameters": { - "id": 7619, - "nodeType": "ParameterList", - "parameters": [], - "src": "12296:0:4" - }, - "scope": 7756, - "src": "12229:277:4", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 7661, - "nodeType": "Block", - "src": "12628:135:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 7650, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "12663:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7649, - "name": "isOperationReady", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7147, - "src": "12646:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 7651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12646:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973206e6f74207265616479", - "id": 7652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12668:44:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603", - "typeString": "literal_string \"TimelockController: operation is not ready\"" - }, - "value": "TimelockController: operation is not ready" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bdd7703854adf2fa4a48f46f1199f94db1c1b76d093badefa0f8cb70636f7603", - "typeString": "literal_string \"TimelockController: operation is not ready\"" - } - ], - "id": 7648, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12638:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12638:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7654, - "nodeType": "ExpressionStatement", - "src": "12638:75:4" - }, - { - "expression": { - "id": 7659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 7655, - "name": "_timestamps", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6885, - "src": "12723:11:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 7657, - "indexExpression": { - "id": 7656, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "12735:2:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12723:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 7658, - "name": "_DONE_TIMESTAMP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6881, - "src": "12741:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12723:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7660, - "nodeType": "ExpressionStatement", - "src": "12723:33:4" - } - ] - }, - "documentation": { - "id": 7643, - "nodeType": "StructuredDocumentation", - "src": "12512:71:4", - "text": " @dev Checks after execution of an operation's calls." - }, - "id": 7662, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterCall", - "nameLocation": "12597:10:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7646, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7645, - "mutability": "mutable", - "name": "id", - "nameLocation": "12616:2:4", - "nodeType": "VariableDeclaration", - "scope": 7662, - "src": "12608:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7644, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12608:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "12607:12:4" - }, - "returnParameters": { - "id": 7647, - "nodeType": "ParameterList", - "parameters": [], - "src": "12628:0:4" - }, - "scope": 7756, - "src": "12588:175:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 7688, - "nodeType": "Block", - "src": "13212:180:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 7669, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13230:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13234:6:4", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13230:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 7673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13252:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - ], - "id": 7672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13244:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7671, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13244:7:4", - "typeDescriptions": {} - } - }, - "id": 7674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13244:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13230:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742062652074696d656c6f636b", - "id": 7676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13259:45:4", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f9bc92801aafde1b21a5337b55bc3174f20991aa3b4cf4e5fdd1a61b63aa92df", - "typeString": "literal_string \"TimelockController: caller must be timelock\"" - }, - "value": "TimelockController: caller must be timelock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f9bc92801aafde1b21a5337b55bc3174f20991aa3b4cf4e5fdd1a61b63aa92df", - "typeString": "literal_string \"TimelockController: caller must be timelock\"" - } - ], - "id": 7668, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13222:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13222:83:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7678, - "nodeType": "ExpressionStatement", - "src": "13222:83:4" - }, - { - "eventCall": { - "arguments": [ - { - "id": 7680, - "name": "_minDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "13335:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 7681, - "name": "newDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7665, - "src": "13346:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7679, - "name": "MinDelayChange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6929, - "src": "13320:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 7682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13320:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7683, - "nodeType": "EmitStatement", - "src": "13315:40:4" - }, - { - "expression": { - "id": 7686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 7684, - "name": "_minDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6887, - "src": "13365:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 7685, - "name": "newDelay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7665, - "src": "13377:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13365:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7687, - "nodeType": "ExpressionStatement", - "src": "13365:20:4" - } - ] - }, - "documentation": { - "id": 7663, - "nodeType": "StructuredDocumentation", - "src": "12769:382:4", - "text": " @dev Changes the minimum timelock duration for future operations.\n Emits a {MinDelayChange} event.\n Requirements:\n - the caller must be the timelock itself. This can only be achieved by scheduling and later executing\n an operation where the timelock is the target and the data is the ABI-encoded call to this function." - }, - "functionSelector": "64d62353", - "id": 7689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateDelay", - "nameLocation": "13165:11:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7665, - "mutability": "mutable", - "name": "newDelay", - "nameLocation": "13185:8:4", - "nodeType": "VariableDeclaration", - "scope": 7689, - "src": "13177:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13177:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13176:18:4" - }, - "returnParameters": { - "id": 7667, - "nodeType": "ParameterList", - "parameters": [], - "src": "13212:0:4" - }, - "scope": 7756, - "src": "13156:236:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "baseFunctions": [ - 3854 - ], - "body": { - "id": 7708, - "nodeType": "Block", - "src": "13612:54:4", - "statements": [ - { - "expression": { - "expression": { - "expression": { - "id": 7704, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13629:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 7705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13634:16:4", - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 7709, - "src": "13629:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 7706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13651:8:4", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "13629:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 7703, - "id": 7707, - "nodeType": "Return", - "src": "13622:37:4" - } - ] - }, - "documentation": { - "id": 7690, - "nodeType": "StructuredDocumentation", - "src": "13398:63:4", - "text": " @dev See {IERC721Receiver-onERC721Received}." - }, - "functionSelector": "150b7a02", - "id": 7709, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "13475:16:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7700, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "13586:8:4" - }, - "parameters": { - "id": 7699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7692, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7709, - "src": "13501:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13501:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7694, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7709, - "src": "13518:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7693, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13518:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7696, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7709, - "src": "13535:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13535:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7698, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7709, - "src": "13552:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7697, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13552:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "13491:79:4" - }, - "returnParameters": { - "id": 7703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7702, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7709, - "src": "13604:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7701, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "13604:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "13603:8:4" - }, - "scope": 7756, - "src": "13466:200:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3818 - ], - "body": { - "id": 7730, - "nodeType": "Block", - "src": "13906:55:4", - "statements": [ - { - "expression": { - "expression": { - "expression": { - "id": 7726, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13923:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 7727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13928:17:4", - "memberName": "onERC1155Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 7731, - "src": "13923:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 7728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13946:8:4", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "13923:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 7725, - "id": 7729, - "nodeType": "Return", - "src": "13916:38:4" - } - ] - }, - "documentation": { - "id": 7710, - "nodeType": "StructuredDocumentation", - "src": "13672:65:4", - "text": " @dev See {IERC1155Receiver-onERC1155Received}." - }, - "functionSelector": "f23a6e61", - "id": 7731, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nameLocation": "13751:17:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7722, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "13880:8:4" - }, - "parameters": { - "id": 7721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7712, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7731, - "src": "13778:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7711, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13778:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7714, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7731, - "src": "13795:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13795:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7716, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7731, - "src": "13812:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13812:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7718, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7731, - "src": "13829:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13829:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7720, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7731, - "src": "13846:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7719, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13846:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "13768:96:4" - }, - "returnParameters": { - "id": 7725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7724, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7731, - "src": "13898:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7723, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "13898:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "13897:8:4" - }, - "scope": 7756, - "src": "13742:219:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 3836 - ], - "body": { - "id": 7754, - "nodeType": "Block", - "src": "14229:60:4", - "statements": [ - { - "expression": { - "expression": { - "expression": { - "id": 7750, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "14246:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_TimelockController_$7756", - "typeString": "contract TimelockController" - } - }, - "id": 7751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14251:22:4", - "memberName": "onERC1155BatchReceived", - "nodeType": "MemberAccess", - "referencedDeclaration": 7755, - "src": "14246:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 7752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14274:8:4", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "14246:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 7749, - "id": 7753, - "nodeType": "Return", - "src": "14239:43:4" - } - ] - }, - "documentation": { - "id": 7732, - "nodeType": "StructuredDocumentation", - "src": "13967:70:4", - "text": " @dev See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "functionSelector": "bc197c81", - "id": 7755, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nameLocation": "14051:22:4", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7746, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "14203:8:4" - }, - "parameters": { - "id": 7745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7734, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7755, - "src": "14083:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7733, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14083:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7736, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7755, - "src": "14100:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14100:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7739, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7755, - "src": "14117:16:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14117:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7738, - "nodeType": "ArrayTypeName", - "src": "14117:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7742, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7755, - "src": "14143:16:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14143:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7741, - "nodeType": "ArrayTypeName", - "src": "14143:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7744, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7755, - "src": "14169:12:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7743, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14169:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "14073:114:4" - }, - "returnParameters": { - "id": 7749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7748, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 7755, - "src": "14221:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7747, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "14221:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "14220:8:4" - }, - "scope": 7756, - "src": "14042:247:4", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 7757, - "src": "1030:13261:4", - "usedErrors": [] - } - ], - "src": "117:14175:4" - }, - "bytecode": "60806040523480156200001157600080fd5b506040516200230038038062002300833981016040819052620000349162000408565b6200004f60008051602062002280833981519152806200022d565b62000079600080516020620022a0833981519152600080516020620022808339815191526200022d565b620000a3600080516020620022c0833981519152600080516020620022808339815191526200022d565b620000cd600080516020620022e0833981519152600080516020620022808339815191526200022d565b620000e8600080516020620022808339815191523062000278565b6001600160a01b03811615620001135762000113600080516020620022808339815191528262000278565b60005b835181101562000199576200015d600080516020620022a08339815191528583815181106200014957620001496200048f565b60200260200101516200027860201b60201c565b62000186600080516020620022e08339815191528583815181106200014957620001496200048f565b6200019181620004a5565b905062000116565b5060005b8251811015620001e357620001d0600080516020620022c08339815191528483815181106200014957620001496200048f565b620001db81620004a5565b90506200019d565b5060028490556040805160008152602081018690527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a150505050620004cd565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62000284828262000288565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000284576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002e43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200035657600080fd5b919050565b600082601f8301126200036d57600080fd5b815160206001600160401b03808311156200038c576200038c62000328565b8260051b604051601f19603f83011681018181108482111715620003b457620003b462000328565b604052938452858101830193838101925087851115620003d357600080fd5b83870191505b84821015620003fd57620003ed826200033e565b83529183019190830190620003d9565b979650505050505050565b600080600080608085870312156200041f57600080fd5b845160208601519094506001600160401b03808211156200043f57600080fd5b6200044d888389016200035b565b945060408701519150808211156200046457600080fd5b5062000473878288016200035b565b92505062000484606086016200033e565b905092959194509250565b634e487b7160e01b600052603260045260246000fd5b600060018201620004c657634e487b7160e01b600052601160045260246000fd5b5060010190565b611da380620004dd6000396000f3fe6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610582578063e38335e5146105a2578063f23a6e61146105b5578063f27a0c92146105e157600080fd5b8063bc197c8114610509578063c4d252f514610535578063d45c44351461055557600080fd5b806391d14854116100c657806391d1485414610480578063a217fddf146104a0578063b08e51c0146104b5578063b1c5f427146104e957600080fd5b80638065657f1461040c5780638f2a0bb01461042c5780638f61f4f51461044c57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038c57806336568abe146103ac578063584b153e146103cc57806364d62353146103ec57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036c57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e23660046113c0565b6105f6565b005b3480156101f557600080fd5b50610209610204366004611434565b61068b565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a236600461145e565b6106b6565b3480156102b357600080fd5b506102096102c23660046114c9565b61076b565b3480156102d357600080fd5b506102f26102e2366004611597565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b506102526103263660046114c9565b60009081526020819052604090206001015490565b34801561034757600080fd5b506102096103563660046114c9565b6000908152600160208190526040909120541490565b34801561037857600080fd5b506101e76103873660046115fe565b610791565b34801561039857600080fd5b506102096103a73660046114c9565b6107bb565b3480156103b857600080fd5b506101e76103c73660046115fe565b6107d4565b3480156103d857600080fd5b506102096103e73660046114c9565b610857565b3480156103f857600080fd5b506101e76104073660046114c9565b61086d565b34801561041857600080fd5b5061025261042736600461145e565b610911565b34801561043857600080fd5b506101e761044736600461166e565b610950565b34801561045857600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048c57600080fd5b5061020961049b3660046115fe565b610aa2565b3480156104ac57600080fd5b50610252600081565b3480156104c157600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f557600080fd5b5061025261050436600461171f565b610acb565b34801561051557600080fd5b506102f2610524366004611846565b63bc197c8160e01b95945050505050565b34801561054157600080fd5b506101e76105503660046114c9565b610b10565b34801561056157600080fd5b506102526105703660046114c9565b60009081526001602052604090205490565b34801561058e57600080fd5b506101e761059d3660046115fe565b610be5565b6101e76105b036600461171f565b610c0a565b3480156105c157600080fd5b506102f26105d03660046118ef565b63f23a6e6160e01b95945050505050565b3480156105ed57600080fd5b50600254610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062081610d94565b6000610630898989898989610911565b905061063c8184610da1565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516106789695949392919061197c565b60405180910390a3505050505050505050565b60006001600160e01b03198216630271189760e51b14806106b057506106b082610e90565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636106e2816000610aa2565b6106f0576106f08133610ec5565b6000610700888888888888610911565b905061070c8185610f1e565b61071888888888610fba565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161075094939291906119b9565b60405180910390a36107618161108d565b5050505050505050565b60008181526001602052604081205460018111801561078a5750428111155b9392505050565b6000828152602081905260409020600101546107ac81610d94565b6107b683836110c6565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146108495760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610853828261114a565b5050565b60008181526001602081905260408220546107cd565b3330146108d05760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610840565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b600086868686868660405160200161092e9695949392919061197c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161097a81610d94565b8887146109995760405162461bcd60e51b8152600401610840906119eb565b8885146109b85760405162461bcd60e51b8152600401610840906119eb565b60006109ca8b8b8b8b8b8b8b8b610acb565b90506109d68184610da1565b60005b8a811015610a945780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a1657610a16611a2e565b9050602002016020810190610a2b9190611a44565b8d8d86818110610a3d57610a3d611a2e565b905060200201358c8c87818110610a5657610a56611a2e565b9050602002810190610a689190611a5f565b8c8b604051610a7c9695949392919061197c565b60405180910390a3610a8d81611abb565b90506109d9565b505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610aec989796959493929190611b65565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610b3a81610d94565b610b4382610857565b610ba95760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610840565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260208190526040902060010154610c0081610d94565b6107b6838361114a565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610c36816000610aa2565b610c4457610c448133610ec5565b878614610c635760405162461bcd60e51b8152600401610840906119eb565b878414610c825760405162461bcd60e51b8152600401610840906119eb565b6000610c948a8a8a8a8a8a8a8a610acb565b9050610ca08185610f1e565b60005b89811015610d7e5760008b8b83818110610cbf57610cbf611a2e565b9050602002016020810190610cd49190611a44565b905060008a8a84818110610cea57610cea611a2e565b9050602002013590503660008a8a86818110610d0857610d08611a2e565b9050602002810190610d1a9190611a5f565b91509150610d2a84848484610fba565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610d6194939291906119b9565b60405180910390a35050505080610d7790611abb565b9050610ca3565b50610d888161108d565b50505050505050505050565b610d9e8133610ec5565b50565b610daa826107bb565b15610e0f5760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610840565b600254811015610e705760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610840565b610e7a8142611c06565b6000928352600160205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106b057506301ffc9a760e01b6001600160e01b03198316146106b0565b610ecf8282610aa2565b61085357610edc816111af565b610ee78360206111c1565b604051602001610ef8929190611c3d565b60408051601f198184030181529082905262461bcd60e51b825261084091600401611cb2565b610f278261076b565b610f435760405162461bcd60e51b815260040161084090611ce5565b801580610f5f5750600081815260016020819052604090912054145b6108535760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610840565b6000846001600160a01b0316848484604051610fd7929190611d2f565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b50509050806110865760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610840565b5050505050565b6110968161076b565b6110b25760405162461bcd60e51b815260040161084090611ce5565b600090815260016020819052604090912055565b6110d08282610aa2565b610853576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111063390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111548282610aa2565b15610853576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106b06001600160a01b03831660145b606060006111d0836002611d3f565b6111db906002611c06565b6001600160401b038111156111f2576111f26114e2565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b509050600360fc1b8160008151811061123757611237611a2e565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061126657611266611a2e565b60200101906001600160f81b031916908160001a905350600061128a846002611d3f565b611295906001611c06565b90505b600181111561130d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112c9576112c9611a2e565b1a60f81b8282815181106112df576112df611a2e565b60200101906001600160f81b031916908160001a90535060049490941c9361130681611d56565b9050611298565b50831561078a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610840565b80356001600160a01b038116811461137357600080fd5b919050565b60008083601f84011261138a57600080fd5b5081356001600160401b038111156113a157600080fd5b6020830191508360208285010111156113b957600080fd5b9250929050565b600080600080600080600060c0888a0312156113db57600080fd5b6113e48861135c565b96506020880135955060408801356001600160401b0381111561140657600080fd5b6114128a828b01611378565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561144657600080fd5b81356001600160e01b03198116811461078a57600080fd5b60008060008060008060a0878903121561147757600080fd5b6114808761135c565b95506020870135945060408701356001600160401b038111156114a257600080fd5b6114ae89828a01611378565b979a9699509760608101359660809091013595509350505050565b6000602082840312156114db57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611520576115206114e2565b604052919050565b600082601f83011261153957600080fd5b81356001600160401b03811115611552576115526114e2565b611565601f8201601f19166020016114f8565b81815284602083860101111561157a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156115ad57600080fd5b6115b68561135c565b93506115c46020860161135c565b92506040850135915060608501356001600160401b038111156115e657600080fd5b6115f287828801611528565b91505092959194509250565b6000806040838503121561161157600080fd5b823591506116216020840161135c565b90509250929050565b60008083601f84011261163c57600080fd5b5081356001600160401b0381111561165357600080fd5b6020830191508360208260051b85010111156113b957600080fd5b600080600080600080600080600060c08a8c03121561168c57600080fd5b89356001600160401b03808211156116a357600080fd5b6116af8d838e0161162a565b909b50995060208c01359150808211156116c857600080fd5b6116d48d838e0161162a565b909950975060408c01359150808211156116ed57600080fd5b506116fa8c828d0161162a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561173b57600080fd5b88356001600160401b038082111561175257600080fd5b61175e8c838d0161162a565b909a50985060208b013591508082111561177757600080fd5b6117838c838d0161162a565b909850965060408b013591508082111561179c57600080fd5b506117a98b828c0161162a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126117d857600080fd5b813560206001600160401b038211156117f3576117f36114e2565b8160051b6118028282016114f8565b928352848101820192828101908785111561181c57600080fd5b83870192505b8483101561183b57823582529183019190830190611822565b979650505050505050565b600080600080600060a0868803121561185e57600080fd5b6118678661135c565b94506118756020870161135c565b935060408601356001600160401b038082111561189157600080fd5b61189d89838a016117c7565b945060608801359150808211156118b357600080fd5b6118bf89838a016117c7565b935060808801359150808211156118d557600080fd5b506118e288828901611528565b9150509295509295909350565b600080600080600060a0868803121561190757600080fd5b6119108661135c565b945061191e6020870161135c565b9350604086013592506060860135915060808601356001600160401b0381111561194757600080fd5b6118e288828901611528565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006119a460a083018688611953565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006119e1606083018486611953565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a5657600080fd5b61078a8261135c565b6000808335601e19843603018112611a7657600080fd5b8301803591506001600160401b03821115611a9057600080fd5b6020019150368190038213156113b957600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611acd57611acd611aa5565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611b585782840389528135601e19883603018112611b0f57600080fd5b870185810190356001600160401b03811115611b2a57600080fd5b803603821315611b3957600080fd5b611b44868284611953565b9a87019a9550505090840190600101611aee565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611ba6576001600160a01b03611b918461135c565b16825260209283019290910190600101611b78565b5083810360208501528881526001600160fb1b03891115611bc657600080fd5b8860051b9150818a60208301370182810360209081016040850152611bee9082018789611ad4565b60608401959095525050608001529695505050505050565b808201808211156106b0576106b0611aa5565b60005b83811015611c34578181015183820152602001611c1c565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c75816017850160208801611c19565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611ca6816028840160208801611c19565b01602801949350505050565b6020815260008251806020840152611cd1816040850160208701611c19565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b80820281158282048414176106b0576106b0611aa5565b600081611d6557611d65611aa5565b50600019019056fea26469706673582212205ba22405943f10aeecf869fc325446473b65d132169de24a71e7f7dbf141d87c64736f6c634300081100335f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783", - "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "TimelockController", - "coverageMap": { - "branches": { - "0": { - "AccessControl._checkRole": { - "71": [ - 3806, - 3828, - false - ] - }, - "AccessControl._grantRole": { - "72": [ - 7544, - 7566, - false - ] - }, - "AccessControl._revokeRole": { - "73": [ - 7948, - 7970, - false - ] - }, - "AccessControl.renounceRole": { - "70": [ - 6007, - 6030, - true - ] - } - }, - "1": {}, - "12": {}, - "19": {}, - "22": {}, - "28": {}, - "29": {}, - "4": { - "TimelockController._afterCall": { - "69": [ - 12646, - 12666, - true - ] - }, - "TimelockController._beforeCall": { - "65": [ - 12314, - 12334, - true - ], - "66": [ - 12399, - 12424, - true - ], - "67": [ - 12428, - 12456, - true - ] - }, - "TimelockController._execute": { - "68": [ - 12076, - 12083, - true - ] - }, - "TimelockController._schedule": { - "63": [ - 9161, - 9177, - true - ], - "64": [ - 9247, - 9269, - true - ] - }, - "TimelockController.cancel": { - "59": [ - 9598, - 9620, - true - ] - }, - "TimelockController.executeBatch": { - "60": [ - 4473, - 4498, - false - ], - "61": [ - 11195, - 11226, - true - ], - "62": [ - 11284, - 11317, - true - ] - }, - "TimelockController.scheduleBatch": { - "57": [ - 8540, - 8571, - true - ], - "58": [ - 8629, - 8662, - true - ] - }, - "TimelockController.updateDelay": { - "56": [ - 13230, - 13257, - true - ] - } - } - }, - "statements": { - "0": { - "AccessControl._checkRole": { - "40": [ - 3400, - 3430 - ], - "46": [ - 3844, - 4180 - ] - }, - "AccessControl._grantRole": { - "52": [ - 7582, - 7618 - ], - "53": [ - 7632, - 7677 - ] - }, - "AccessControl._revokeRole": { - "54": [ - 7986, - 8023 - ], - "55": [ - 8037, - 8082 - ] - }, - "AccessControl.getRoleAdmin": { - "0": [ - 4471, - 4500 - ] - }, - "AccessControl.grantRole": { - "13": [ - 4916, - 4941 - ] - }, - "AccessControl.hasRole": { - "27": [ - 2997, - 3033 - ] - }, - "AccessControl.renounceRole": { - "15": [ - 5999, - 6082 - ], - "16": [ - 6093, - 6119 - ] - }, - "AccessControl.revokeRole": { - "32": [ - 5342, - 5368 - ] - }, - "AccessControl.supportsInterface": { - "44": [ - 2707, - 2801 - ] - } - }, - "1": {}, - "12": {}, - "19": {}, - "22": { - "Context._msgSender": { - "7": [ - 712, - 729 - ] - } - }, - "28": { - "ERC165.supportsInterface": { - "45": [ - 930, - 977 - ] - } - }, - "29": {}, - "4": { - "TimelockController._afterCall": { - "50": [ - 12638, - 12713 - ], - "51": [ - 12723, - 12756 - ] - }, - "TimelockController._beforeCall": { - "47": [ - 12306, - 12381 - ], - "48": [ - 12391, - 12499 - ] - }, - "TimelockController._execute": { - "49": [ - 12068, - 12139 - ] - }, - "TimelockController._schedule": { - "41": [ - 9153, - 9229 - ], - "42": [ - 9239, - 9312 - ], - "43": [ - 9322, - 9363 - ] - }, - "TimelockController.cancel": { - "29": [ - 9590, - 9674 - ], - "30": [ - 9684, - 9706 - ], - "31": [ - 9717, - 9735 - ] - }, - "TimelockController.execute": { - "8": [ - 10516, - 10544 - ], - "9": [ - 10554, - 10586 - ], - "10": [ - 10596, - 10644 - ], - "11": [ - 10654, - 10668 - ] - }, - "TimelockController.executeBatch": { - "33": [ - 11187, - 11266 - ], - "34": [ - 11276, - 11357 - ], - "35": [ - 11456, - 11484 - ], - "36": [ - 11683, - 11715 - ], - "37": [ - 11729, - 11777 - ], - "38": [ - 11534, - 11537 - ], - "39": [ - 11797, - 11811 - ] - }, - "TimelockController.getMinDelay": { - "3": [ - 6537, - 6553 - ] - }, - "TimelockController.getTimestamp": { - "1": [ - 6242, - 6264 - ] - }, - "TimelockController.hashOperation": { - "21": [ - 6882, - 6950 - ] - }, - "TimelockController.hashOperationBatch": { - "28": [ - 7317, - 7391 - ] - }, - "TimelockController.isOperation": { - "14": [ - 5243, - 5270 - ] - }, - "TimelockController.isOperationDone": { - "2": [ - 5954, - 5996 - ] - }, - "TimelockController.isOperationPending": { - "17": [ - 5452, - 5493 - ] - }, - "TimelockController.isOperationReady": { - "12": [ - 5715, - 5781 - ] - }, - "TimelockController.schedule": { - "4": [ - 7917, - 7937 - ], - "5": [ - 7947, - 8013 - ] - }, - "TimelockController.scheduleBatch": { - "22": [ - 8532, - 8611 - ], - "23": [ - 8621, - 8702 - ], - "24": [ - 8800, - 8820 - ], - "25": [ - 8889, - 8970 - ], - "26": [ - 8870, - 8873 - ] - }, - "TimelockController.supportsInterface": { - "6": [ - 4895, - 4991 - ] - }, - "TimelockController.updateDelay": { - "18": [ - 13222, - 13305 - ], - "19": [ - 13315, - 13355 - ], - "20": [ - 13365, - 13385 - ] - } - } - } - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/AccessControl", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/ERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IAccessControl", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC1155Receiver", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC165", - "OpenZeppelin/openzeppelin-contracts@4.8.1/IERC721Receiver" - ], - "deployedBytecode": "6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f14610582578063e38335e5146105a2578063f23a6e61146105b5578063f27a0c92146105e157600080fd5b8063bc197c8114610509578063c4d252f514610535578063d45c44351461055557600080fd5b806391d14854116100c657806391d1485414610480578063a217fddf146104a0578063b08e51c0146104b5578063b1c5f427146104e957600080fd5b80638065657f1461040c5780638f2a0bb01461042c5780638f61f4f51461044c57600080fd5b8063248a9ca31161015957806331d507501161013357806331d507501461038c57806336568abe146103ac578063584b153e146103cc57806364d62353146103ec57600080fd5b8063248a9ca31461030b5780632ab0f5291461033b5780632f2ff15d1461036c57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e23660046113c0565b6105f6565b005b3480156101f557600080fd5b50610209610204366004611434565b61068b565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a236600461145e565b6106b6565b3480156102b357600080fd5b506102096102c23660046114c9565b61076b565b3480156102d357600080fd5b506102f26102e2366004611597565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610215565b34801561031757600080fd5b506102526103263660046114c9565b60009081526020819052604090206001015490565b34801561034757600080fd5b506102096103563660046114c9565b6000908152600160208190526040909120541490565b34801561037857600080fd5b506101e76103873660046115fe565b610791565b34801561039857600080fd5b506102096103a73660046114c9565b6107bb565b3480156103b857600080fd5b506101e76103c73660046115fe565b6107d4565b3480156103d857600080fd5b506102096103e73660046114c9565b610857565b3480156103f857600080fd5b506101e76104073660046114c9565b61086d565b34801561041857600080fd5b5061025261042736600461145e565b610911565b34801561043857600080fd5b506101e761044736600461166e565b610950565b34801561045857600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561048c57600080fd5b5061020961049b3660046115fe565b610aa2565b3480156104ac57600080fd5b50610252600081565b3480156104c157600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104f557600080fd5b5061025261050436600461171f565b610acb565b34801561051557600080fd5b506102f2610524366004611846565b63bc197c8160e01b95945050505050565b34801561054157600080fd5b506101e76105503660046114c9565b610b10565b34801561056157600080fd5b506102526105703660046114c9565b60009081526001602052604090205490565b34801561058e57600080fd5b506101e761059d3660046115fe565b610be5565b6101e76105b036600461171f565b610c0a565b3480156105c157600080fd5b506102f26105d03660046118ef565b63f23a6e6160e01b95945050505050565b3480156105ed57600080fd5b50600254610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161062081610d94565b6000610630898989898989610911565b905061063c8184610da1565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516106789695949392919061197c565b60405180910390a3505050505050505050565b60006001600160e01b03198216630271189760e51b14806106b057506106b082610e90565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636106e2816000610aa2565b6106f0576106f08133610ec5565b6000610700888888888888610911565b905061070c8185610f1e565b61071888888888610fba565b6000817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161075094939291906119b9565b60405180910390a36107618161108d565b5050505050505050565b60008181526001602052604081205460018111801561078a5750428111155b9392505050565b6000828152602081905260409020600101546107ac81610d94565b6107b683836110c6565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146108495760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610853828261114a565b5050565b60008181526001602081905260408220546107cd565b3330146108d05760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610840565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b600086868686868660405160200161092e9695949392919061197c565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161097a81610d94565b8887146109995760405162461bcd60e51b8152600401610840906119eb565b8885146109b85760405162461bcd60e51b8152600401610840906119eb565b60006109ca8b8b8b8b8b8b8b8b610acb565b90506109d68184610da1565b60005b8a811015610a945780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a1657610a16611a2e565b9050602002016020810190610a2b9190611a44565b8d8d86818110610a3d57610a3d611a2e565b905060200201358c8c87818110610a5657610a56611a2e565b9050602002810190610a689190611a5f565b8c8b604051610a7c9695949392919061197c565b60405180910390a3610a8d81611abb565b90506109d9565b505050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60008888888888888888604051602001610aec989796959493929190611b65565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610b3a81610d94565b610b4382610857565b610ba95760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610840565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260208190526040902060010154610c0081610d94565b6107b6838361114a565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610c36816000610aa2565b610c4457610c448133610ec5565b878614610c635760405162461bcd60e51b8152600401610840906119eb565b878414610c825760405162461bcd60e51b8152600401610840906119eb565b6000610c948a8a8a8a8a8a8a8a610acb565b9050610ca08185610f1e565b60005b89811015610d7e5760008b8b83818110610cbf57610cbf611a2e565b9050602002016020810190610cd49190611a44565b905060008a8a84818110610cea57610cea611a2e565b9050602002013590503660008a8a86818110610d0857610d08611a2e565b9050602002810190610d1a9190611a5f565b91509150610d2a84848484610fba565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610d6194939291906119b9565b60405180910390a35050505080610d7790611abb565b9050610ca3565b50610d888161108d565b50505050505050505050565b610d9e8133610ec5565b50565b610daa826107bb565b15610e0f5760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610840565b600254811015610e705760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610840565b610e7a8142611c06565b6000928352600160205260409092209190915550565b60006001600160e01b03198216637965db0b60e01b14806106b057506301ffc9a760e01b6001600160e01b03198316146106b0565b610ecf8282610aa2565b61085357610edc816111af565b610ee78360206111c1565b604051602001610ef8929190611c3d565b60408051601f198184030181529082905262461bcd60e51b825261084091600401611cb2565b610f278261076b565b610f435760405162461bcd60e51b815260040161084090611ce5565b801580610f5f5750600081815260016020819052604090912054145b6108535760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610840565b6000846001600160a01b0316848484604051610fd7929190611d2f565b60006040518083038185875af1925050503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b50509050806110865760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610840565b5050505050565b6110968161076b565b6110b25760405162461bcd60e51b815260040161084090611ce5565b600090815260016020819052604090912055565b6110d08282610aa2565b610853576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111063390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6111548282610aa2565b15610853576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106b06001600160a01b03831660145b606060006111d0836002611d3f565b6111db906002611c06565b6001600160401b038111156111f2576111f26114e2565b6040519080825280601f01601f19166020018201604052801561121c576020820181803683370190505b509050600360fc1b8160008151811061123757611237611a2e565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061126657611266611a2e565b60200101906001600160f81b031916908160001a905350600061128a846002611d3f565b611295906001611c06565b90505b600181111561130d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112c9576112c9611a2e565b1a60f81b8282815181106112df576112df611a2e565b60200101906001600160f81b031916908160001a90535060049490941c9361130681611d56565b9050611298565b50831561078a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610840565b80356001600160a01b038116811461137357600080fd5b919050565b60008083601f84011261138a57600080fd5b5081356001600160401b038111156113a157600080fd5b6020830191508360208285010111156113b957600080fd5b9250929050565b600080600080600080600060c0888a0312156113db57600080fd5b6113e48861135c565b96506020880135955060408801356001600160401b0381111561140657600080fd5b6114128a828b01611378565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561144657600080fd5b81356001600160e01b03198116811461078a57600080fd5b60008060008060008060a0878903121561147757600080fd5b6114808761135c565b95506020870135945060408701356001600160401b038111156114a257600080fd5b6114ae89828a01611378565b979a9699509760608101359660809091013595509350505050565b6000602082840312156114db57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611520576115206114e2565b604052919050565b600082601f83011261153957600080fd5b81356001600160401b03811115611552576115526114e2565b611565601f8201601f19166020016114f8565b81815284602083860101111561157a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156115ad57600080fd5b6115b68561135c565b93506115c46020860161135c565b92506040850135915060608501356001600160401b038111156115e657600080fd5b6115f287828801611528565b91505092959194509250565b6000806040838503121561161157600080fd5b823591506116216020840161135c565b90509250929050565b60008083601f84011261163c57600080fd5b5081356001600160401b0381111561165357600080fd5b6020830191508360208260051b85010111156113b957600080fd5b600080600080600080600080600060c08a8c03121561168c57600080fd5b89356001600160401b03808211156116a357600080fd5b6116af8d838e0161162a565b909b50995060208c01359150808211156116c857600080fd5b6116d48d838e0161162a565b909950975060408c01359150808211156116ed57600080fd5b506116fa8c828d0161162a565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b03121561173b57600080fd5b88356001600160401b038082111561175257600080fd5b61175e8c838d0161162a565b909a50985060208b013591508082111561177757600080fd5b6117838c838d0161162a565b909850965060408b013591508082111561179c57600080fd5b506117a98b828c0161162a565b999c989b509699959896976060870135966080013595509350505050565b600082601f8301126117d857600080fd5b813560206001600160401b038211156117f3576117f36114e2565b8160051b6118028282016114f8565b928352848101820192828101908785111561181c57600080fd5b83870192505b8483101561183b57823582529183019190830190611822565b979650505050505050565b600080600080600060a0868803121561185e57600080fd5b6118678661135c565b94506118756020870161135c565b935060408601356001600160401b038082111561189157600080fd5b61189d89838a016117c7565b945060608801359150808211156118b357600080fd5b6118bf89838a016117c7565b935060808801359150808211156118d557600080fd5b506118e288828901611528565b9150509295509295909350565b600080600080600060a0868803121561190757600080fd5b6119108661135c565b945061191e6020870161135c565b9350604086013592506060860135915060808601356001600160401b0381111561194757600080fd5b6118e288828901611528565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a0604082015260006119a460a083018688611953565b60608301949094525060800152949350505050565b60018060a01b03851681528360208201526060604082015260006119e1606083018486611953565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a5657600080fd5b61078a8261135c565b6000808335601e19843603018112611a7657600080fd5b8301803591506001600160401b03821115611a9057600080fd5b6020019150368190038213156113b957600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611acd57611acd611aa5565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611b585782840389528135601e19883603018112611b0f57600080fd5b870185810190356001600160401b03811115611b2a57600080fd5b803603821315611b3957600080fd5b611b44868284611953565b9a87019a9550505090840190600101611aee565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611ba6576001600160a01b03611b918461135c565b16825260209283019290910190600101611b78565b5083810360208501528881526001600160fb1b03891115611bc657600080fd5b8860051b9150818a60208301370182810360209081016040850152611bee9082018789611ad4565b60608401959095525050608001529695505050505050565b808201808211156106b0576106b0611aa5565b60005b83811015611c34578181015183820152602001611c1c565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c75816017850160208801611c19565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611ca6816028840160208801611c19565b01602801949350505050565b6020815260008251806020840152611cd1816040850160208701611c19565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b8183823760009101908152919050565b80820281158282048414176106b0576106b0611aa5565b600081611d6557611d65611aa5565b50600019019056fea26469706673582212205ba22405943f10aeecf869fc325446473b65d132169de24a71e7f7dbf141d87c64736f6c63430008110033", - "deployedSourceMap": "1030:13261:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7618:402;;;;;;;;;;-1:-1:-1;7618:402:4;;;;;:::i;:::-;;:::i;:::-;;4770:228;;;;;;;;;;-1:-1:-1;4770:228:4;;;;;:::i;:::-;;:::i;:::-;;;1763:14:35;;1756:22;1738:41;;1726:2;1711:18;4770:228:4;;;;;;;;1272:66;;;;;;;;;;;;1312:26;1272:66;;;;;1936:25:35;;;1924:2;1909:18;1272:66:4;1790:177:35;1116:78:4;;;;;;;;;;;;1162:32;1116:78;;10216:459;;;;;;:::i;:::-;;:::i;5580:208::-;;;;;;;;;;-1:-1:-1;5580:208:4;;;;;:::i;:::-;;:::i;13466:200::-;;;;;;;;;;-1:-1:-1;13466:200:4;;;;;:::i;:::-;-1:-1:-1;;;13466:200:4;;;;;;;;;;-1:-1:-1;;;;;;4502:33:35;;;4484:52;;4472:2;4457:18;13466:200:4;4340:202:35;4378:129:0;;;;;;;;;;-1:-1:-1;4378:129:0;;;;;:::i;:::-;4452:7;4478:12;;;;;;;;;;:22;;;;4378:129;5867:136:4;;;;;;;;;;-1:-1:-1;5867:136:4;;;;;:::i;:::-;5933:9;6249:15;;;1470:1;6249:15;;;;;;;;;5961:35;;5867:136;4803:145:0;;;;;;;;;;-1:-1:-1;4803:145:0;;;;;:::i;:::-;;:::i;5154:123:4:-;;;;;;;;;;-1:-1:-1;5154:123:4;;;;;:::i;:::-;;:::i;5912:214:0:-;;;;;;;;;;-1:-1:-1;5912:214:0;;;;;:::i;:::-;;:::i;5359:141:4:-;;;;;;;;;;-1:-1:-1;5359:141:4;;;;;:::i;:::-;;:::i;13156:236::-;;;;;;;;;;-1:-1:-1;13156:236:4;;;;;:::i;:::-;;:::i;6673:284::-;;;;;;;;;;-1:-1:-1;6673:284:4;;;;;:::i;:::-;;:::i;8274:713::-;;;;;;;;;;-1:-1:-1;8274:713:4;;;;;:::i;:::-;;:::i;1200:66::-;;;;;;;;;;;;1240:26;1200:66;;2895:145:0;;;;;;;;;;-1:-1:-1;2895:145:0;;;;;:::i;:::-;;:::i;2027:49::-;;;;;;;;;;-1:-1:-1;2027:49:0;2072:4;2027:49;;1344:68:4;;;;;;;;;;;;1385:27;1344:68;;7073:325;;;;;;;;;;-1:-1:-1;7073:325:4;;;;;:::i;:::-;;:::i;14042:247::-;;;;;;;;;;-1:-1:-1;14042:247:4;;;;;:::i;:::-;-1:-1:-1;;;14042:247:4;;;;;;;;9512:230;;;;;;;;;;-1:-1:-1;9512:230:4;;;;;:::i;:::-;;:::i;6150:121::-;;;;;;;;;;-1:-1:-1;6150:121:4;;;;;:::i;:::-;6213:17;6249:15;;;:11;:15;;;;;;;6150:121;5228:147:0;;;;;;;;;;-1:-1:-1;5228:147:0;;;;;:::i;:::-;;:::i;10935:883:4:-;;;;;;:::i;:::-;;:::i;13742:219::-;;;;;;;;;;-1:-1:-1;13742:219:4;;;;;:::i;:::-;-1:-1:-1;;;13742:219:4;;;;;;;;6457:103;;;;;;;;;;-1:-1:-1;6544:9:4;;6457:103;;7618:402;1240:26;2505:16:0;2516:4;2505:10;:16::i;:::-;7841:10:4::1;7854:53;7868:6;7876:5;7883:4;;7889:11;7902:4;7854:13;:53::i;:::-;7841:66;;7917:20;7927:2;7931:5;7917:9;:20::i;:::-;7970:1;7966:2;7952:61;7973:6;7981:5;7988:4;;7994:11;8007:5;7952:61;;;;;;;;;;;:::i;:::-;;;;;;;;7831:189;7618:402:::0;;;;;;;;:::o;4770:228::-;4879:4;-1:-1:-1;;;;;;4902:49:4;;-1:-1:-1;;;4902:49:4;;:89;;;4955:36;4979:11;4955:23;:36::i;:::-;4895:96;4770:228;-1:-1:-1;;4770:228:4:o;10216:459::-;1312:26;4473:25;4481:4;4495:1;4473:7;:25::i;:::-;4468:87;;4514:30;4525:4;719:10:22;4514::4;:30::i;:::-;10436:10:::1;10449:56;10463:6;10471:5;10478:7;;10487:11;10500:4;10449:13;:56::i;:::-;10436:69;;10516:28;10528:2;10532:11;10516;:28::i;:::-;10554:32;10563:6;10571:5;10578:7;;10554:8;:32::i;:::-;10618:1;10614:2;10601:43;10621:6;10629:5;10636:7;;10601:43;;;;;;;;;:::i;:::-;;;;;;;;10654:14;10665:2;10654:10;:14::i;:::-;10426:249;10216:459:::0;;;;;;;:::o;5580:208::-;5647:10;6249:15;;;:11;:15;;;;;;1470:1;5722:9;:27;:59;;;;;5766:15;5753:9;:28;;5722:59;5715:66;5580:208;-1:-1:-1;;;5580:208:4:o;4803:145:0:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;4916:25:::1;4927:4;4933:7;4916:10;:25::i;:::-;4803:145:::0;;;:::o;5154:123:4:-;5216:15;6249;;;:11;:15;;;;;;5216;;5250:16;:20;;5154:123;-1:-1:-1;;5154:123:4:o;5912:214:0:-;-1:-1:-1;;;;;6007:23:0;;719:10:22;6007:23:0;5999:83;;;;-1:-1:-1;;;5999:83:0;;11826:2:35;5999:83:0;;;11808:21:35;11865:2;11845:18;;;11838:30;11904:34;11884:18;;;11877:62;-1:-1:-1;;;11955:18:35;;;11948:45;12010:19;;5999:83:0;;;;;;;;;6093:26;6105:4;6111:7;6093:11;:26::i;:::-;5912:214;;:::o;5359:141:4:-;5428:12;6249:15;;;1470:1;6249:15;;;;;;;;5459:16;6150:121;13156:236;13230:10;13252:4;13230:27;13222:83;;;;-1:-1:-1;;;13222:83:4;;12242:2:35;13222:83:4;;;12224:21:35;12281:2;12261:18;;;12254:30;12320:34;12300:18;;;12293:62;-1:-1:-1;;;12371:18:35;;;12364:41;12422:19;;13222:83:4;12040:407:35;13222:83:4;13335:9;;13320:35;;;12626:25:35;;;12682:2;12667:18;;12660:34;;;13320:35:4;;12599:18:35;13320:35:4;;;;;;;13365:9;:20;13156:236::o;6673:284::-;6858:12;6910:6;6918:5;6925:4;;6931:11;6944:4;6899:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6889:61;;;;;;6882:68;;6673:284;;;;;;;;:::o;8274:713::-;1240:26;2505:16:0;2516:4;2505:10;:16::i;:::-;8540:31:4;;::::1;8532:79;;;;-1:-1:-1::0;;;8532:79:4::1;;;;;;;:::i;:::-;8629:33:::0;;::::1;8621:81;;;;-1:-1:-1::0;;;8621:81:4::1;;;;;;;:::i;:::-;8713:10;8726:64;8745:7;;8754:6;;8762:8;;8772:11;8785:4;8726:18;:64::i;:::-;8713:77;;8800:20;8810:2;8814:5;8800:9;:20::i;:::-;8835:9;8830:151;8850:18:::0;;::::1;8830:151;;;8912:1;8908:2;8894:76;8915:7;;8923:1;8915:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8927:6;;8934:1;8927:9;;;;;;;:::i;:::-;;;;;;;8938:8;;8947:1;8938:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;8951;8964:5;8894:76;;;;;;;;;;;:::i;:::-;;;;;;;;8870:3;::::0;::::1;:::i;:::-;;;8830:151;;;;8522:465;8274:713:::0;;;;;;;;;;:::o;2895:145:0:-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;;;;2895:145::o;7073:325:4:-;7293:12;7345:7;;7354:6;;7362:8;;7372:11;7385:4;7334:56;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7324:67;;;;;;7317:74;;7073:325;;;;;;;;;;:::o;9512:230::-;1385:27;2505:16:0;2516:4;2505:10;:16::i;:::-;9598:22:4::1;9617:2;9598:18;:22::i;:::-;9590:84;;;::::0;-1:-1:-1;;;9590:84:4;;17464:2:35;9590:84:4::1;::::0;::::1;17446:21:35::0;17503:2;17483:18;;;17476:30;17542:34;17522:18;;;17515:62;-1:-1:-1;;;17593:18:35;;;17586:47;17650:19;;9590:84:4::1;17262:413:35::0;9590:84:4::1;9691:15;::::0;;;:11:::1;:15;::::0;;;;;9684:22;;;9722:13;9703:2;;9722:13:::1;::::0;::::1;9512:230:::0;;:::o;5228:147:0:-;4452:7;4478:12;;;;;;;;;;:22;;;2505:16;2516:4;2505:10;:16::i;:::-;5342:26:::1;5354:4;5360:7;5342:11;:26::i;10935:883:4:-:0;1312:26;4473:25;4481:4;4495:1;4473:7;:25::i;:::-;4468:87;;4514:30;4525:4;719:10:22;4514::4;:30::i;:::-;11195:31;;::::1;11187:79;;;;-1:-1:-1::0;;;11187:79:4::1;;;;;;;:::i;:::-;11284:33:::0;;::::1;11276:81;;;;-1:-1:-1::0;;;11276:81:4::1;;;;;;;:::i;:::-;11368:10;11381:64;11400:7;;11409:6;;11417:8;;11427:11;11440:4;11381:18;:64::i;:::-;11368:77;;11456:28;11468:2;11472:11;11456;:28::i;:::-;11499:9;11494:294;11514:18:::0;;::::1;11494:294;;;11553:14;11570:7;;11578:1;11570:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11553:27;;11594:13;11610:6;;11617:1;11610:9;;;;;;;:::i;:::-;;;;;;;11594:25;;11633:22;;11658:8;;11667:1;11658:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;11633:36;;;;11683:32;11692:6;11700:5;11707:7;;11683:8;:32::i;:::-;11751:1;11747:2;11734:43;11754:6;11762:5;11769:7;;11734:43;;;;;;;;;:::i;:::-;;;;;;;;11539:249;;;;11534:3;;;;:::i;:::-;;;11494:294;;;;11797:14;11808:2;11797:10;:14::i;:::-;11177:641;10935:883:::0;;;;;;;;;:::o;3334:103:0:-;3400:30;3411:4;719:10:22;4514::4;:30::i;3400::0:-;3334:103;:::o;9089:281:4:-;9162:15;9174:2;9162:11;:15::i;:::-;9161:16;9153:76;;;;-1:-1:-1;;;9153:76:4;;17882:2:35;9153:76:4;;;17864:21:35;17921:2;17901:18;;;17894:30;17960:34;17940:18;;;17933:62;-1:-1:-1;;;18011:18:35;;;18004:45;18066:19;;9153:76:4;17680:411:35;9153:76:4;6544:9;;9247:5;:22;;9239:73;;;;-1:-1:-1;;;9239:73:4;;18298:2:35;9239:73:4;;;18280:21:35;18337:2;18317:18;;;18310:30;18376:34;18356:18;;;18349:62;-1:-1:-1;;;18427:18:35;;;18420:36;18473:19;;9239:73:4;18096:402:35;9239:73:4;9340:23;9358:5;9340:15;:23;:::i;:::-;9322:15;;;;:11;:15;;;;;;:41;;;;-1:-1:-1;9089:281:4:o;2606:202:0:-;2691:4;-1:-1:-1;;;;;;2714:47:0;;-1:-1:-1;;;2714:47:0;;:87;;-1:-1:-1;;;;;;;;;;937:40:28;;;2765:36:0;829:155:28;3718:479:0;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:390;;3989:28;4009:7;3989:19;:28::i;:::-;4088:38;4116:4;4123:2;4088:19;:38::i;:::-;3896:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:252:0;;;;;;;;;;-1:-1:-1;;;3844:336:0;;;;;;;:::i;12229:277:4:-;12314:20;12331:2;12314:16;:20::i;:::-;12306:75;;;;-1:-1:-1;;;12306:75:4;;;;;;;:::i;:::-;12399:25;;;:57;;-1:-1:-1;5933:9:4;6249:15;;;1470:1;6249:15;;;;;;;;;5961:35;12428:28;12391:108;;;;-1:-1:-1;;;12391:108:4;;20719:2:35;12391:108:4;;;20701:21:35;20758:2;20738:18;;;20731:30;20797:34;20777:18;;;20770:62;-1:-1:-1;;;20848:18:35;;;20841:36;20894:19;;12391:108:4;20517:402:35;11881:265:4;12009:12;12027:6;-1:-1:-1;;;;;12027:11:4;12046:5;12053:4;;12027:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12008:50;;;12076:7;12068:71;;;;-1:-1:-1;;;12068:71:4;;21402:2:35;12068:71:4;;;21384:21:35;21441:2;21421:18;;;21414:30;21480:34;21460:18;;;21453:62;-1:-1:-1;;;21531:18:35;;;21524:49;21590:19;;12068:71:4;21200:415:35;12068:71:4;11998:148;11881:265;;;;:::o;12588:175::-;12646:20;12663:2;12646:16;:20::i;:::-;12638:75;;;;-1:-1:-1;;;12638:75:4;;;;;;;:::i;:::-;12723:15;;;;1470:1;12723:15;;;;;;;;:33;12588:175::o;7461:233:0:-;7544:22;7552:4;7558:7;7544;:22::i;:::-;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:0;;;;;;;;;:36;;-1:-1:-1;;7582:36:0;7614:4;7582:36;;;7664:12;719:10:22;;640:96;7664:12:0;-1:-1:-1;;;;;7637:40:0;7655:7;-1:-1:-1;;;;;7637:40:0;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;7865:234::-;7948:22;7956:4;7962:7;7948;:22::i;:::-;7944:149;;;8018:5;7986:12;;;;;;;;;;;-1:-1:-1;;;;;7986:29:0;;;;;;;;;;:37;;-1:-1:-1;;7986:37:0;;;8042:40;719:10:22;;7986:12:0;;8042:40;;8018:5;8042:40;7865:234;;:::o;2102:149:24:-;2160:13;2192:52;-1:-1:-1;;;;;2204:22:24;;311:2;1513:437;1588:13;1613:19;1645:10;1649:6;1645:1;:10;:::i;:::-;:14;;1658:1;1645:14;:::i;:::-;-1:-1:-1;;;;;1635:25:24;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1635:25:24;;1613:47;;-1:-1:-1;;;1670:6:24;1677:1;1670:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1670:15:24;;;;;;;;;-1:-1:-1;;;1695:6:24;1702:1;1695:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1695:15:24;;;;;;;;-1:-1:-1;1725:9:24;1737:10;1741:6;1737:1;:10;:::i;:::-;:14;;1750:1;1737:14;:::i;:::-;1725:26;;1720:128;1757:1;1753;:5;1720:128;;;-1:-1:-1;;;1800:5:24;1808:3;1800:11;1791:21;;;;;;;:::i;:::-;;;;1779:6;1786:1;1779:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;1779:33:24;;;;;;;;-1:-1:-1;1836:1:24;1826:11;;;;;1760:3;;;:::i;:::-;;;1720:128;;;-1:-1:-1;1865:10:24;;1857:55;;;;-1:-1:-1;;;1857:55:24;;22136:2:35;1857:55:24;;;22118:21:35;;;22155:18;;;22148:30;22214:34;22194:18;;;22187:62;22266:18;;1857:55:24;21934:356:35;14:173;82:20;;-1:-1:-1;;;;;131:31:35;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:347::-;243:8;253:6;307:3;300:4;292:6;288:17;284:27;274:55;;325:1;322;315:12;274:55;-1:-1:-1;348:20:35;;-1:-1:-1;;;;;380:30:35;;377:50;;;423:1;420;413:12;377:50;460:4;452:6;448:17;436:29;;512:3;505:4;496:6;488;484:19;480:30;477:39;474:59;;;529:1;526;519:12;474:59;192:347;;;;;:::o;544:758::-;659:6;667;675;683;691;699;707;760:3;748:9;739:7;735:23;731:33;728:53;;;777:1;774;767:12;728:53;800:29;819:9;800:29;:::i;:::-;790:39;;876:2;865:9;861:18;848:32;838:42;;931:2;920:9;916:18;903:32;-1:-1:-1;;;;;950:6:35;947:30;944:50;;;990:1;987;980:12;944:50;1029:58;1079:7;1070:6;1059:9;1055:22;1029:58;:::i;:::-;544:758;;;;-1:-1:-1;1106:8:35;1188:2;1173:18;;1160:32;;1239:3;1224:19;;1211:33;;-1:-1:-1;1291:3:35;1276:19;;;1263:33;;-1:-1:-1;544:758:35;-1:-1:-1;;;;544:758:35:o;1307:286::-;1365:6;1418:2;1406:9;1397:7;1393:23;1389:32;1386:52;;;1434:1;1431;1424:12;1386:52;1460:23;;-1:-1:-1;;;;;;1512:32:35;;1502:43;;1492:71;;1559:1;1556;1549:12;1972:689;2078:6;2086;2094;2102;2110;2118;2171:3;2159:9;2150:7;2146:23;2142:33;2139:53;;;2188:1;2185;2178:12;2139:53;2211:29;2230:9;2211:29;:::i;:::-;2201:39;;2287:2;2276:9;2272:18;2259:32;2249:42;;2342:2;2331:9;2327:18;2314:32;-1:-1:-1;;;;;2361:6:35;2358:30;2355:50;;;2401:1;2398;2391:12;2355:50;2440:58;2490:7;2481:6;2470:9;2466:22;2440:58;:::i;:::-;1972:689;;;;-1:-1:-1;2517:8:35;2599:2;2584:18;;2571:32;;2650:3;2635:19;;;2622:33;;-1:-1:-1;1972:689:35;-1:-1:-1;;;;1972:689:35:o;2666:180::-;2725:6;2778:2;2766:9;2757:7;2753:23;2749:32;2746:52;;;2794:1;2791;2784:12;2746:52;-1:-1:-1;2817:23:35;;2666:180;-1:-1:-1;2666:180:35:o;2851:127::-;2912:10;2907:3;2903:20;2900:1;2893:31;2943:4;2940:1;2933:15;2967:4;2964:1;2957:15;2983:275;3054:2;3048:9;3119:2;3100:13;;-1:-1:-1;;3096:27:35;3084:40;;-1:-1:-1;;;;;3139:34:35;;3175:22;;;3136:62;3133:88;;;3201:18;;:::i;:::-;3237:2;3230:22;2983:275;;-1:-1:-1;2983:275:35:o;3263:530::-;3305:5;3358:3;3351:4;3343:6;3339:17;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3412:6;3399:20;-1:-1:-1;;;;;3434:2:35;3431:26;3428:52;;;3460:18;;:::i;:::-;3504:55;3547:2;3528:13;;-1:-1:-1;;3524:27:35;3553:4;3520:38;3504:55;:::i;:::-;3584:2;3575:7;3568:19;3630:3;3623:4;3618:2;3610:6;3606:15;3602:26;3599:35;3596:55;;;3647:1;3644;3637:12;3596:55;3712:2;3705:4;3697:6;3693:17;3686:4;3677:7;3673:18;3660:55;3760:1;3735:16;;;3753:4;3731:27;3724:38;;;;3739:7;3263:530;-1:-1:-1;;;3263:530:35:o;3798:537::-;3893:6;3901;3909;3917;3970:3;3958:9;3949:7;3945:23;3941:33;3938:53;;;3987:1;3984;3977:12;3938:53;4010:29;4029:9;4010:29;:::i;:::-;4000:39;;4058:38;4092:2;4081:9;4077:18;4058:38;:::i;:::-;4048:48;;4143:2;4132:9;4128:18;4115:32;4105:42;;4198:2;4187:9;4183:18;4170:32;-1:-1:-1;;;;;4217:6:35;4214:30;4211:50;;;4257:1;4254;4247:12;4211:50;4280:49;4321:7;4312:6;4301:9;4297:22;4280:49;:::i;:::-;4270:59;;;3798:537;;;;;;;:::o;4547:254::-;4615:6;4623;4676:2;4664:9;4655:7;4651:23;4647:32;4644:52;;;4692:1;4689;4682:12;4644:52;4728:9;4715:23;4705:33;;4757:38;4791:2;4780:9;4776:18;4757:38;:::i;:::-;4747:48;;4547:254;;;;;:::o;4991:367::-;5054:8;5064:6;5118:3;5111:4;5103:6;5099:17;5095:27;5085:55;;5136:1;5133;5126:12;5085:55;-1:-1:-1;5159:20:35;;-1:-1:-1;;;;;5191:30:35;;5188:50;;;5234:1;5231;5224:12;5188:50;5271:4;5263:6;5259:17;5247:29;;5331:3;5324:4;5314:6;5311:1;5307:14;5299:6;5295:27;5291:38;5288:47;5285:67;;;5348:1;5345;5338:12;5363:1306;5559:6;5567;5575;5583;5591;5599;5607;5615;5623;5676:3;5664:9;5655:7;5651:23;5647:33;5644:53;;;5693:1;5690;5683:12;5644:53;5733:9;5720:23;-1:-1:-1;;;;;5803:2:35;5795:6;5792:14;5789:34;;;5819:1;5816;5809:12;5789:34;5858:70;5920:7;5911:6;5900:9;5896:22;5858:70;:::i;:::-;5947:8;;-1:-1:-1;5832:96:35;-1:-1:-1;6035:2:35;6020:18;;6007:32;;-1:-1:-1;6051:16:35;;;6048:36;;;6080:1;6077;6070:12;6048:36;6119:72;6183:7;6172:8;6161:9;6157:24;6119:72;:::i;:::-;6210:8;;-1:-1:-1;6093:98:35;-1:-1:-1;6298:2:35;6283:18;;6270:32;;-1:-1:-1;6314:16:35;;;6311:36;;;6343:1;6340;6333:12;6311:36;;6382:72;6446:7;6435:8;6424:9;6420:24;6382:72;:::i;:::-;5363:1306;;;;-1:-1:-1;5363:1306:35;;;;6473:8;;6555:2;6540:18;;6527:32;;6606:3;6591:19;;6578:33;;-1:-1:-1;6658:3:35;6643:19;6630:33;;-1:-1:-1;5363:1306:35;-1:-1:-1;;;;5363:1306:35:o;6674:1237::-;6861:6;6869;6877;6885;6893;6901;6909;6917;6970:3;6958:9;6949:7;6945:23;6941:33;6938:53;;;6987:1;6984;6977:12;6938:53;7027:9;7014:23;-1:-1:-1;;;;;7097:2:35;7089:6;7086:14;7083:34;;;7113:1;7110;7103:12;7083:34;7152:70;7214:7;7205:6;7194:9;7190:22;7152:70;:::i;:::-;7241:8;;-1:-1:-1;7126:96:35;-1:-1:-1;7329:2:35;7314:18;;7301:32;;-1:-1:-1;7345:16:35;;;7342:36;;;7374:1;7371;7364:12;7342:36;7413:72;7477:7;7466:8;7455:9;7451:24;7413:72;:::i;:::-;7504:8;;-1:-1:-1;7387:98:35;-1:-1:-1;7592:2:35;7577:18;;7564:32;;-1:-1:-1;7608:16:35;;;7605:36;;;7637:1;7634;7627:12;7605:36;;7676:72;7740:7;7729:8;7718:9;7714:24;7676:72;:::i;:::-;6674:1237;;;;-1:-1:-1;6674:1237:35;;;;7767:8;;7849:2;7834:18;;7821:32;;7900:3;7885:19;7872:33;;-1:-1:-1;6674:1237:35;-1:-1:-1;;;;6674:1237:35:o;7916:712::-;7970:5;8023:3;8016:4;8008:6;8004:17;8000:27;7990:55;;8041:1;8038;8031:12;7990:55;8077:6;8064:20;8103:4;-1:-1:-1;;;;;8122:2:35;8119:26;8116:52;;;8148:18;;:::i;:::-;8194:2;8191:1;8187:10;8217:28;8241:2;8237;8233:11;8217:28;:::i;:::-;8279:15;;;8349;;;8345:24;;;8310:12;;;;8381:15;;;8378:35;;;8409:1;8406;8399:12;8378:35;8445:2;8437:6;8433:15;8422:26;;8457:142;8473:6;8468:3;8465:15;8457:142;;;8539:17;;8527:30;;8490:12;;;;8577;;;;8457:142;;;8617:5;7916:712;-1:-1:-1;;;;;;;7916:712:35:o;8633:943::-;8787:6;8795;8803;8811;8819;8872:3;8860:9;8851:7;8847:23;8843:33;8840:53;;;8889:1;8886;8879:12;8840:53;8912:29;8931:9;8912:29;:::i;:::-;8902:39;;8960:38;8994:2;8983:9;8979:18;8960:38;:::i;:::-;8950:48;;9049:2;9038:9;9034:18;9021:32;-1:-1:-1;;;;;9113:2:35;9105:6;9102:14;9099:34;;;9129:1;9126;9119:12;9099:34;9152:61;9205:7;9196:6;9185:9;9181:22;9152:61;:::i;:::-;9142:71;;9266:2;9255:9;9251:18;9238:32;9222:48;;9295:2;9285:8;9282:16;9279:36;;;9311:1;9308;9301:12;9279:36;9334:63;9389:7;9378:8;9367:9;9363:24;9334:63;:::i;:::-;9324:73;;9450:3;9439:9;9435:19;9422:33;9406:49;;9480:2;9470:8;9467:16;9464:36;;;9496:1;9493;9486:12;9464:36;;9519:51;9562:7;9551:8;9540:9;9536:24;9519:51;:::i;:::-;9509:61;;;8633:943;;;;;;;;:::o;9763:606::-;9867:6;9875;9883;9891;9899;9952:3;9940:9;9931:7;9927:23;9923:33;9920:53;;;9969:1;9966;9959:12;9920:53;9992:29;10011:9;9992:29;:::i;:::-;9982:39;;10040:38;10074:2;10063:9;10059:18;10040:38;:::i;:::-;10030:48;;10125:2;10114:9;10110:18;10097:32;10087:42;;10176:2;10165:9;10161:18;10148:32;10138:42;;10231:3;10220:9;10216:19;10203:33;-1:-1:-1;;;;;10251:6:35;10248:30;10245:50;;;10291:1;10288;10281:12;10245:50;10314:49;10355:7;10346:6;10335:9;10331:22;10314:49;:::i;10374:266::-;10462:6;10457:3;10450:19;10514:6;10507:5;10500:4;10495:3;10491:14;10478:43;-1:-1:-1;10566:1:35;10541:16;;;10559:4;10537:27;;;10530:38;;;;10622:2;10601:15;;;-1:-1:-1;;10597:29:35;10588:39;;;10584:50;;10374:266::o;10645:557::-;10943:1;10939;10934:3;10930:11;10926:19;10918:6;10914:32;10903:9;10896:51;10983:6;10978:2;10967:9;10963:18;10956:34;11026:3;11021:2;11010:9;11006:18;10999:31;10877:4;11047:62;11104:3;11093:9;11089:19;11081:6;11073;11047:62;:::i;:::-;11140:2;11125:18;;11118:34;;;;-1:-1:-1;11183:3:35;11168:19;11161:35;11039:70;10645:557;-1:-1:-1;;;;10645:557:35:o;11207:412::-;11449:1;11445;11440:3;11436:11;11432:19;11424:6;11420:32;11409:9;11402:51;11489:6;11484:2;11473:9;11469:18;11462:34;11532:2;11527;11516:9;11512:18;11505:30;11383:4;11552:61;11609:2;11598:9;11594:18;11586:6;11578;11552:61;:::i;:::-;11544:69;11207:412;-1:-1:-1;;;;;;11207:412:35:o;13267:399::-;13469:2;13451:21;;;13508:2;13488:18;;;13481:30;13547:34;13542:2;13527:18;;13520:62;-1:-1:-1;;;13613:2:35;13598:18;;13591:33;13656:3;13641:19;;13267:399::o;13671:127::-;13732:10;13727:3;13723:20;13720:1;13713:31;13763:4;13760:1;13753:15;13787:4;13784:1;13777:15;13803:186;13862:6;13915:2;13903:9;13894:7;13890:23;13886:32;13883:52;;;13931:1;13928;13921:12;13883:52;13954:29;13973:9;13954:29;:::i;13994:521::-;14071:4;14077:6;14137:11;14124:25;14231:2;14227:7;14216:8;14200:14;14196:29;14192:43;14172:18;14168:68;14158:96;;14250:1;14247;14240:12;14158:96;14277:33;;14329:20;;;-1:-1:-1;;;;;;14361:30:35;;14358:50;;;14404:1;14401;14394:12;14358:50;14437:4;14425:17;;-1:-1:-1;14468:14:35;14464:27;;;14454:38;;14451:58;;;14505:1;14502;14495:12;14520:127;14581:10;14576:3;14572:20;14569:1;14562:31;14612:4;14609:1;14602:15;14636:4;14633:1;14626:15;14652:135;14691:3;14712:17;;;14709:43;;14732:18;;:::i;:::-;-1:-1:-1;14779:1:35;14768:13;;14652:135::o;14792:1067::-;14899:6;14894:3;14887:19;14869:3;14925:4;14966:2;14961:3;14957:12;14991:11;15018;15011:18;;15068:6;15065:1;15061:14;15054:5;15050:26;15038:38;;15099:5;15122:1;15132:701;15146:6;15143:1;15140:13;15132:701;;;15217:5;15211:4;15207:16;15202:3;15195:29;15276:6;15263:20;15366:2;15362:7;15354:5;15338:14;15334:26;15330:40;15310:18;15306:65;15296:93;;15385:1;15382;15375:12;15296:93;15417:30;;15525:16;;;;15476:21;-1:-1:-1;;;;;15557:32:35;;15554:52;;;15602:1;15599;15592:12;15554:52;15655:8;15639:14;15635:29;15626:7;15622:43;15619:63;;;15678:1;15675;15668:12;15619:63;15703:50;15748:4;15738:8;15729:7;15703:50;:::i;:::-;15811:12;;;;15695:58;-1:-1:-1;;;15776:15:35;;;;15168:1;15161:9;15132:701;;;-1:-1:-1;15849:4:35;;14792:1067;-1:-1:-1;;;;;;;14792:1067:35:o;15864:1393::-;16316:3;16329:22;;;16301:19;;16386:22;;;16268:4;16466:6;16439:3;16424:19;;16268:4;16500:235;16514:6;16511:1;16508:13;16500:235;;;-1:-1:-1;;;;;16579:26:35;16598:6;16579:26;:::i;:::-;16575:52;16563:65;;16651:4;16710:15;;;;16675:12;;;;16536:1;16529:9;16500:235;;;-1:-1:-1;16773:19:35;;;16766:4;16751:20;;16744:49;16802:19;;;-1:-1:-1;;;;;16833:31:35;;16830:51;;;16877:1;16874;16867:12;16830:51;16911:6;16908:1;16904:14;16890:28;;16964:6;16956;16949:4;16944:3;16940:14;16927:44;16990:16;17046:18;;;17066:4;17042:29;;;17037:2;17022:18;;17015:57;17089:75;;17150:13;;17142:6;17134;17089:75;:::i;:::-;17195:2;17180:18;;17173:34;;;;-1:-1:-1;;17238:3:35;17223:19;17216:35;17081:83;15864:1393;-1:-1:-1;;;;;;15864:1393:35:o;18503:125::-;18568:9;;;18589:10;;;18586:36;;;18602:18;;:::i;18633:250::-;18718:1;18728:113;18742:6;18739:1;18736:13;18728:113;;;18818:11;;;18812:18;18799:11;;;18792:39;18764:2;18757:10;18728:113;;;-1:-1:-1;;18875:1:35;18857:16;;18850:27;18633:250::o;18888:812::-;19299:25;19294:3;19287:38;19269:3;19354:6;19348:13;19370:75;19438:6;19433:2;19428:3;19424:12;19417:4;19409:6;19405:17;19370:75;:::i;:::-;-1:-1:-1;;;19504:2:35;19464:16;;;19496:11;;;19489:40;19554:13;;19576:76;19554:13;19638:2;19630:11;;19623:4;19611:17;;19576:76;:::i;:::-;19672:17;19691:2;19668:26;;18888:812;-1:-1:-1;;;;18888:812:35:o;19705:396::-;19854:2;19843:9;19836:21;19817:4;19886:6;19880:13;19929:6;19924:2;19913:9;19909:18;19902:34;19945:79;20017:6;20012:2;20001:9;19997:18;19992:2;19984:6;19980:15;19945:79;:::i;:::-;20085:2;20064:15;-1:-1:-1;;20060:29:35;20045:45;;;;20092:2;20041:54;;19705:396;-1:-1:-1;;19705:396:35:o;20106:406::-;20308:2;20290:21;;;20347:2;20327:18;;;20320:30;20386:34;20381:2;20366:18;;20359:62;-1:-1:-1;;;20452:2:35;20437:18;;20430:40;20502:3;20487:19;;20106:406::o;20924:271::-;21107:6;21099;21094:3;21081:33;21063:3;21133:16;;21158:13;;;21133:16;20924:271;-1:-1:-1;20924:271:35:o;21620:168::-;21693:9;;;21724;;21741:15;;;21735:22;;21721:37;21711:71;;21762:18;;:::i;21793:136::-;21832:3;21860:5;21850:39;;21869:18;;:::i;:::-;-1:-1:-1;;;21905:18:35;;21793:136::o", - "language": "Solidity", - "natspec": { - "details": "Contract module which acts as a timelocked controller. When set as the owner of an `Ownable` smart contract, it enforces a timelock on all `onlyOwner` maintenance operations. This gives time for users of the controlled contract to exit before a potentially dangerous maintenance operation is applied. By default, this contract is self administered, meaning administration tasks have to go through the timelock process. The proposer (resp executor) role is in charge of proposing (resp executing) operations. A common use case is to position this {TimelockController} as the owner of a smart contract, with a multisig or a DAO as the sole proposer. _Available since v3.3._", - "events": { - "CallExecuted(bytes32,uint256,address,uint256,bytes)": { - "details": "Emitted when a call is performed as part of operation `id`." - }, - "CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)": { - "details": "Emitted when a call is scheduled as part of operation `id`." - }, - "Cancelled(bytes32)": { - "details": "Emitted when operation `id` is cancelled." - }, - "MinDelayChange(uint256,uint256)": { - "details": "Emitted when the minimum delay for future operations is modified." - } - }, - "kind": "dev", - "methods": { - "cancel(bytes32)": { - "details": "Cancel an operation. Requirements: - the caller must have the 'canceller' role." - }, - "constructor": { - "details": "Initializes the contract with the following parameters: - `minDelay`: initial minimum delay for operations - `proposers`: accounts to be granted proposer and canceller roles - `executors`: accounts to be granted executor role - `admin`: optional account to be granted admin role; disable with zero address IMPORTANT: The optional admin can aid with initial configuration of roles after deployment without being subject to delay, but this role should be subsequently renounced in favor of administration through timelocked proposals. Previous versions of this contract would assign this admin to the deployer automatically and should be renounced as well." - }, - "execute(address,uint256,bytes,bytes32,bytes32)": { - "details": "Execute an (ready) operation containing a single transaction. Emits a {CallExecuted} event. Requirements: - the caller must have the 'executor' role." - }, - "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)": { - "details": "Execute an (ready) operation containing a batch of transactions. Emits one {CallExecuted} event per transaction in the batch. Requirements: - the caller must have the 'executor' role." - }, - "getMinDelay()": { - "details": "Returns the minimum delay for an operation to become valid. This value can be changed by executing an operation that calls `updateDelay`." - }, - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "getTimestamp(bytes32)": { - "details": "Returns the timestamp at with an operation becomes ready (0 for unset operations, 1 for done operations)." - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "hashOperation(address,uint256,bytes,bytes32,bytes32)": { - "details": "Returns the identifier of an operation containing a single transaction." - }, - "hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)": { - "details": "Returns the identifier of an operation containing a batch of transactions." - }, - "isOperation(bytes32)": { - "details": "Returns whether an id correspond to a registered operation. This includes both Pending, Ready and Done operations." - }, - "isOperationDone(bytes32)": { - "details": "Returns whether an operation is done or not." - }, - "isOperationPending(bytes32)": { - "details": "Returns whether an operation is pending or not." - }, - "isOperationReady(bytes32)": { - "details": "Returns whether an operation is ready or not." - }, - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "See {IERC1155Receiver-onERC1155BatchReceived}." - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "See {IERC1155Receiver-onERC1155Received}." - }, - "onERC721Received(address,address,uint256,bytes)": { - "details": "See {IERC721Receiver-onERC721Received}." - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "schedule(address,uint256,bytes,bytes32,bytes32,uint256)": { - "details": "Schedule an operation containing a single transaction. Emits a {CallScheduled} event. Requirements: - the caller must have the 'proposer' role." - }, - "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)": { - "details": "Schedule an operation containing a batch of transactions. Emits one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "updateDelay(uint256)": { - "details": "Changes the minimum timelock duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the timelock itself. This can only be achieved by scheduling and later executing an operation where the timelock is the target and the data is the ABI-encoded call to this function." - } - }, - "version": 1 - }, - "offset": [ - 1030, - 14291 - ], - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1BB JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8065657F GT PUSH2 0xEC JUMPI DUP1 PUSH4 0xBC197C81 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD547741F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x582 JUMPI DUP1 PUSH4 0xE38335E5 EQ PUSH2 0x5A2 JUMPI DUP1 PUSH4 0xF23A6E61 EQ PUSH2 0x5B5 JUMPI DUP1 PUSH4 0xF27A0C92 EQ PUSH2 0x5E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xBC197C81 EQ PUSH2 0x509 JUMPI DUP1 PUSH4 0xC4D252F5 EQ PUSH2 0x535 JUMPI DUP1 PUSH4 0xD45C4435 EQ PUSH2 0x555 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x91D14854 GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x480 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x4A0 JUMPI DUP1 PUSH4 0xB08E51C0 EQ PUSH2 0x4B5 JUMPI DUP1 PUSH4 0xB1C5F427 EQ PUSH2 0x4E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8065657F EQ PUSH2 0x40C JUMPI DUP1 PUSH4 0x8F2A0BB0 EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0x8F61F4F5 EQ PUSH2 0x44C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x159 JUMPI DUP1 PUSH4 0x31D50750 GT PUSH2 0x133 JUMPI DUP1 PUSH4 0x31D50750 EQ PUSH2 0x38C JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x3AC JUMPI DUP1 PUSH4 0x584B153E EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x64D62353 EQ PUSH2 0x3EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x30B JUMPI DUP1 PUSH4 0x2AB0F529 EQ PUSH2 0x33B JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x36C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xD3CF6FC GT PUSH2 0x195 JUMPI DUP1 PUSH4 0xD3CF6FC EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0x134008D3 EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0x13BC9F20 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1D5062A EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x7BD0265 EQ PUSH2 0x21E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x1C2 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x1E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x13C0 JUMP JUMPDEST PUSH2 0x5F6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x1434 JUMP JUMPDEST PUSH2 0x68B JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x215 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0x5F58E3A2316349923CE3780F8D587DB2D72378AED66A8261C916544FA6846CA5 DUP2 JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x145E JUMP JUMPDEST PUSH2 0x6B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x76B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1597 JUMP JUMPDEST PUSH4 0xA85BD01 PUSH1 0xE1 SHL SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x215 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x317 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x326 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x347 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x356 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD EQ SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x378 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x387 CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0x791 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x7BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x3C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0x7D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x857 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x407 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0x86D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x418 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x427 CALLDATASIZE PUSH1 0x4 PUSH2 0x145E JUMP JUMPDEST PUSH2 0x911 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x166E JUMP JUMPDEST PUSH2 0x950 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x49B CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0xAA2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH32 0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x504 CALLDATASIZE PUSH1 0x4 PUSH2 0x171F JUMP JUMPDEST PUSH2 0xACB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x515 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x524 CALLDATASIZE PUSH1 0x4 PUSH2 0x1846 JUMP JUMPDEST PUSH4 0xBC197C81 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x541 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x550 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH2 0xB10 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x561 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x252 PUSH2 0x570 CALLDATASIZE PUSH1 0x4 PUSH2 0x14C9 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x59D CALLDATASIZE PUSH1 0x4 PUSH2 0x15FE JUMP JUMPDEST PUSH2 0xBE5 JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x5B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x171F JUMP JUMPDEST PUSH2 0xC0A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F2 PUSH2 0x5D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x18EF JUMP JUMPDEST PUSH4 0xF23A6E61 PUSH1 0xE0 SHL SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x252 JUMP JUMPDEST PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 PUSH2 0x620 DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x630 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x911 JUMP JUMPDEST SWAP1 POP PUSH2 0x63C DUP2 DUP5 PUSH2 0xDA1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH32 0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA DUP12 DUP12 DUP12 DUP12 DUP12 DUP11 PUSH1 0x40 MLOAD PUSH2 0x678 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x2711897 PUSH1 0xE5 SHL EQ DUP1 PUSH2 0x6B0 JUMPI POP PUSH2 0x6B0 DUP3 PUSH2 0xE90 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 PUSH2 0x6E2 DUP2 PUSH1 0x0 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x6F0 JUMPI PUSH2 0x6F0 DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x700 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x911 JUMP JUMPDEST SWAP1 POP PUSH2 0x70C DUP2 DUP6 PUSH2 0xF1E JUMP JUMPDEST PUSH2 0x718 DUP9 DUP9 DUP9 DUP9 PUSH2 0xFBA JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH32 0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58 DUP11 DUP11 DUP11 DUP11 PUSH1 0x40 MLOAD PUSH2 0x750 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x761 DUP2 PUSH2 0x108D JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 DUP2 GT DUP1 ISZERO PUSH2 0x78A JUMPI POP TIMESTAMP DUP2 GT ISZERO JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x7AC DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x7B6 DUP4 DUP4 PUSH2 0x10C6 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP2 SWAP1 JUMPDEST GT SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x849 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x853 DUP3 DUP3 PUSH2 0x114A JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 KECCAK256 SLOAD PUSH2 0x7CD JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A2063616C6C6572206D75737420 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x62652074696D656C6F636B PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP4 SWAP1 MSTORE PUSH32 0x11C24F4EAD16507C69AC467FBD5E4EED5FB5C699626D2CC6D66421DF253886D5 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x2 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP7 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x92E SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1 PUSH2 0x97A DUP2 PUSH2 0xD94 JUMP JUMPDEST DUP9 DUP8 EQ PUSH2 0x999 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST DUP9 DUP6 EQ PUSH2 0x9B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9CA DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH2 0xACB JUMP JUMPDEST SWAP1 POP PUSH2 0x9D6 DUP2 DUP5 PUSH2 0xDA1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP11 DUP2 LT ISZERO PUSH2 0xA94 JUMPI DUP1 DUP3 PUSH32 0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA DUP15 DUP15 DUP6 DUP2 DUP2 LT PUSH2 0xA16 JUMPI PUSH2 0xA16 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xA2B SWAP2 SWAP1 PUSH2 0x1A44 JUMP JUMPDEST DUP14 DUP14 DUP7 DUP2 DUP2 LT PUSH2 0xA3D JUMPI PUSH2 0xA3D PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD DUP13 DUP13 DUP8 DUP2 DUP2 LT PUSH2 0xA56 JUMPI PUSH2 0xA56 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xA68 SWAP2 SWAP1 PUSH2 0x1A5F JUMP JUMPDEST DUP13 DUP12 PUSH1 0x40 MLOAD PUSH2 0xA7C SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x197C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xA8D DUP2 PUSH2 0x1ABB JUMP JUMPDEST SWAP1 POP PUSH2 0x9D9 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAEC SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783 PUSH2 0xB3A DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0xB43 DUP3 PUSH2 0x857 JUMP JUMPDEST PUSH2 0xBA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206361 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x1B9B9BDD0818994818D85B98D95B1B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP3 SWAP1 SSTORE MLOAD DUP4 SWAP2 PUSH32 0xBAA1EB22F2A492BA1A5FEA61B8DF4D27C6C8B5F3971E63BB58FA14FF72EEDB70 SWAP2 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0xC00 DUP2 PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x7B6 DUP4 DUP4 PUSH2 0x114A JUMP JUMPDEST PUSH32 0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63 PUSH2 0xC36 DUP2 PUSH1 0x0 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0xC44 JUMPI PUSH2 0xC44 DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST DUP8 DUP7 EQ PUSH2 0xC63 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST DUP8 DUP5 EQ PUSH2 0xC82 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x19EB JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC94 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 DUP11 PUSH2 0xACB JUMP JUMPDEST SWAP1 POP PUSH2 0xCA0 DUP2 DUP6 PUSH2 0xF1E JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP10 DUP2 LT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP12 DUP12 DUP4 DUP2 DUP2 LT PUSH2 0xCBF JUMPI PUSH2 0xCBF PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0xCD4 SWAP2 SWAP1 PUSH2 0x1A44 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP11 DUP11 DUP5 DUP2 DUP2 LT PUSH2 0xCEA JUMPI PUSH2 0xCEA PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP11 DUP11 DUP7 DUP2 DUP2 LT PUSH2 0xD08 JUMPI PUSH2 0xD08 PUSH2 0x1A2E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0xD1A SWAP2 SWAP1 PUSH2 0x1A5F JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xD2A DUP5 DUP5 DUP5 DUP5 PUSH2 0xFBA JUMP JUMPDEST DUP5 DUP7 PUSH32 0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xD61 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x19B9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP DUP1 PUSH2 0xD77 SWAP1 PUSH2 0x1ABB JUMP JUMPDEST SWAP1 POP PUSH2 0xCA3 JUMP JUMPDEST POP PUSH2 0xD88 DUP2 PUSH2 0x108D JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD9E DUP2 CALLER PUSH2 0xEC5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0xDAA DUP3 PUSH2 0x7BB JUMP JUMPDEST ISZERO PUSH2 0xE0F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E20616C PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x1C9958591E481CD8DA19591D5B1959 PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 LT ISZERO PUSH2 0xE70 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A20696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x2064656C6179 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH2 0xE7A DUP2 TIMESTAMP PUSH2 0x1C06 JUMP JUMPDEST PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x6B0 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x6B0 JUMP JUMPDEST PUSH2 0xECF DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x853 JUMPI PUSH2 0xEDC DUP2 PUSH2 0x11AF JUMP JUMPDEST PUSH2 0xEE7 DUP4 PUSH1 0x20 PUSH2 0x11C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xEF8 SWAP3 SWAP2 SWAP1 PUSH2 0x1C3D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH3 0x461BCD PUSH1 0xE5 SHL DUP3 MSTORE PUSH2 0x840 SWAP2 PUSH1 0x4 ADD PUSH2 0x1CB2 JUMP JUMPDEST PUSH2 0xF27 DUP3 PUSH2 0x76B JUMP JUMPDEST PUSH2 0xF43 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x1CE5 JUMP JUMPDEST DUP1 ISZERO DUP1 PUSH2 0xF5F JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD EQ JUMPDEST PUSH2 0x853 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206D697373696E672064657065 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x6E64656E6379 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xFD7 SWAP3 SWAP2 SWAP1 PUSH2 0x1D2F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1014 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1019 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x1086 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x33 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A20756E6465726C79696E672074 PUSH1 0x44 DUP3 ADD MSTORE PUSH19 0x1C985B9CD858DD1A5BDB881C995D995C9D1959 PUSH1 0x6A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x840 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1096 DUP2 PUSH2 0x76B JUMP JUMPDEST PUSH2 0x10B2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x840 SWAP1 PUSH2 0x1CE5 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH2 0x10D0 DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST PUSH2 0x853 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1106 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x1154 DUP3 DUP3 PUSH2 0xAA2 JUMP JUMPDEST ISZERO PUSH2 0x853 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP6 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x6B0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x14 JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x11D0 DUP4 PUSH1 0x2 PUSH2 0x1D3F JUMP JUMPDEST PUSH2 0x11DB SWAP1 PUSH1 0x2 PUSH2 0x1C06 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x11F2 JUMPI PUSH2 0x11F2 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x121C JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x3 PUSH1 0xFC SHL DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1237 JUMPI PUSH2 0x1237 PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xF PUSH1 0xFB SHL DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1266 JUMPI PUSH2 0x1266 PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH2 0x128A DUP5 PUSH1 0x2 PUSH2 0x1D3F JUMP JUMPDEST PUSH2 0x1295 SWAP1 PUSH1 0x1 PUSH2 0x1C06 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x130D JUMPI PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL DUP6 PUSH1 0xF AND PUSH1 0x10 DUP2 LT PUSH2 0x12C9 JUMPI PUSH2 0x12C9 PUSH2 0x1A2E JUMP JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x12DF JUMPI PUSH2 0x12DF PUSH2 0x1A2E JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 SWAP5 SWAP1 SWAP5 SHR SWAP4 PUSH2 0x1306 DUP2 PUSH2 0x1D56 JUMP JUMPDEST SWAP1 POP PUSH2 0x1298 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x840 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1373 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x138A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x13A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x13DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13E4 DUP9 PUSH2 0x135C JUMP JUMPDEST SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1412 DUP11 DUP3 DUP12 ADD PUSH2 0x1378 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP9 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP3 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1446 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x1477 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1480 DUP8 PUSH2 0x135C JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x14A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14AE DUP10 DUP3 DUP11 ADD PUSH2 0x1378 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP8 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP7 PUSH1 0x80 SWAP1 SWAP2 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1520 JUMPI PUSH2 0x1520 PUSH2 0x14E2 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1539 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1552 JUMPI PUSH2 0x1552 PUSH2 0x14E2 JUMP JUMPDEST PUSH2 0x1565 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x14F8 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x157A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x15AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15B6 DUP6 PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH2 0x15C4 PUSH1 0x20 DUP7 ADD PUSH2 0x135C JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x15E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15F2 DUP8 DUP3 DUP9 ADD PUSH2 0x1528 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1621 PUSH1 0x20 DUP5 ADD PUSH2 0x135C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x163C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1653 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x168C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x16A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16AF DUP14 DUP4 DUP15 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16D4 DUP14 DUP4 DUP15 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16FA DUP13 DUP3 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP8 SWAP9 PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP8 PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP8 POP PUSH1 0xA0 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x173B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x175E DUP13 DUP4 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP11 POP SWAP9 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1777 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1783 DUP13 DUP4 DUP14 ADD PUSH2 0x162A JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x179C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17A9 DUP12 DUP3 DUP13 ADD PUSH2 0x162A JUMP JUMPDEST SWAP10 SWAP13 SWAP9 SWAP12 POP SWAP7 SWAP10 SWAP6 SWAP9 SWAP7 SWAP8 PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP7 PUSH1 0x80 ADD CALLDATALOAD SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x17D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x17F3 JUMPI PUSH2 0x17F3 PUSH2 0x14E2 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x1802 DUP3 DUP3 ADD PUSH2 0x14F8 JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x181C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x183B JUMPI DUP3 CALLDATALOAD DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x1822 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x185E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1867 DUP7 PUSH2 0x135C JUMP JUMPDEST SWAP5 POP PUSH2 0x1875 PUSH1 0x20 DUP8 ADD PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x189D DUP10 DUP4 DUP11 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x18B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18BF DUP10 DUP4 DUP11 ADD PUSH2 0x17C7 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x18D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1528 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1907 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1910 DUP7 PUSH2 0x135C JUMP JUMPDEST SWAP5 POP PUSH2 0x191E PUSH1 0x20 DUP8 ADD PUSH2 0x135C JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1947 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18E2 DUP9 DUP3 DUP10 ADD PUSH2 0x1528 JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP8 AND DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xA0 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x19A4 PUSH1 0xA0 DUP4 ADD DUP7 DUP9 PUSH2 0x1953 JUMP JUMPDEST PUSH1 0x60 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x80 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE DUP4 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x19E1 PUSH1 0x60 DUP4 ADD DUP5 DUP7 PUSH2 0x1953 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x23 SWAP1 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206C656E677468206D69736D61 PUSH1 0x40 DUP3 ADD MSTORE PUSH3 0xE8C6D PUSH1 0xEB SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x78A DUP3 PUSH2 0x135C JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1A76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x1A90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x13B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1ACD JUMPI PUSH2 0x1ACD PUSH2 0x1AA5 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x0 PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP6 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP5 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x1B58 JUMPI DUP3 DUP5 SUB DUP10 MSTORE DUP2 CALLDATALOAD PUSH1 0x1E NOT DUP9 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x1B0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 ADD DUP6 DUP2 ADD SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1B2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATASIZE SUB DUP3 SGT ISZERO PUSH2 0x1B39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B44 DUP7 DUP3 DUP5 PUSH2 0x1953 JUMP JUMPDEST SWAP11 DUP8 ADD SWAP11 SWAP6 POP POP POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1AEE JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP1 DUP3 MSTORE DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x0 DUP10 PUSH1 0xC0 DUP4 ADD DUP3 JUMPDEST DUP12 DUP2 LT ISZERO PUSH2 0x1BA6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1B91 DUP5 PUSH2 0x135C JUMP JUMPDEST AND DUP3 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1B78 JUMP JUMPDEST POP DUP4 DUP2 SUB PUSH1 0x20 DUP6 ADD MSTORE DUP9 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xFB SHL SUB DUP10 GT ISZERO PUSH2 0x1BC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x5 SHL SWAP2 POP DUP2 DUP11 PUSH1 0x20 DUP4 ADD CALLDATACOPY ADD DUP3 DUP2 SUB PUSH1 0x20 SWAP1 DUP2 ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1BEE SWAP1 DUP3 ADD DUP8 DUP10 PUSH2 0x1AD4 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x80 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x6B0 JUMPI PUSH2 0x6B0 PUSH2 0x1AA5 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C34 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1C1C JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x1C75 DUP2 PUSH1 0x17 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1C19 JUMP JUMPDEST PUSH17 0x1034B99036B4B9B9B4B733903937B6329 PUSH1 0x7D SHL PUSH1 0x17 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x1CA6 DUP2 PUSH1 0x28 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x1C19 JUMP JUMPDEST ADD PUSH1 0x28 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1CD1 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x1C19 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2A SWAP1 DUP3 ADD MSTORE PUSH32 0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206973 PUSH1 0x40 DUP3 ADD MSTORE PUSH10 0x206E6F74207265616479 PUSH1 0xB0 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x6B0 JUMPI PUSH2 0x6B0 PUSH2 0x1AA5 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x1D65 JUMPI PUSH2 0x1D65 PUSH2 0x1AA5 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 JUMPDEST LOG2 0x24 SDIV SWAP5 EXTCODEHASH LT 0xAE 0xEC 0xF8 PUSH10 0xFC325446473B65D13216 SWAP14 0xE2 0x4A PUSH18 0xE7F7DBF141D87C64736F6C63430008110033 ", - "pcMap": { - "0": { - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x80" - }, - "2": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "MSTORE", - "path": "4" - }, - "5": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "7": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "8": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "LT", - "path": "4" - }, - "9": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1BB" - }, - "12": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "13": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "15": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "CALLDATALOAD", - "path": "4" - }, - "16": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0xE0" - }, - "18": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "SHR", - "path": "4" - }, - "19": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "20": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x8065657F" - }, - "25": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "GT", - "path": "4" - }, - "26": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0xEC" - }, - "29": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "30": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "31": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xBC197C81" - }, - "36": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "GT", - "path": "4" - }, - "37": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x8A" - }, - "40": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "41": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "42": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xD547741F" - }, - "47": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "GT", - "path": "4" - }, - "48": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x64" - }, - "51": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "52": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "53": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xD547741F" - }, - "58": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "59": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x582" - }, - "62": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "63": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "64": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xE38335E5" - }, - "69": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "70": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5A2" - }, - "73": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "74": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "75": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xF23A6E61" - }, - "80": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "81": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5B5" - }, - "84": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "85": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "86": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xF27A0C92" - }, - "91": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "92": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5E1" - }, - "95": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "96": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "98": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "99": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "100": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "101": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "102": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xBC197C81" - }, - "107": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "108": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x509" - }, - "111": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "112": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "113": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xC4D252F5" - }, - "118": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "119": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x535" - }, - "122": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "123": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "124": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xD45C4435" - }, - "129": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "130": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x555" - }, - "133": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "134": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "136": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "137": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "138": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "139": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "140": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x91D14854" - }, - "145": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "GT", - "path": "4" - }, - "146": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC6" - }, - "149": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "150": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "151": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x91D14854" - }, - "156": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "157": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x480" - }, - "160": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "161": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "162": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xA217FDDF" - }, - "167": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "168": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x4A0" - }, - "171": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "172": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "173": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xB08E51C0" - }, - "178": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "179": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x4B5" - }, - "182": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "183": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "184": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xB1C5F427" - }, - "189": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "190": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x4E9" - }, - "193": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "194": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "196": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "197": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "198": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "199": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "200": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x8065657F" - }, - "205": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "206": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x40C" - }, - "209": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "210": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "211": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x8F2A0BB0" - }, - "216": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "217": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x42C" - }, - "220": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "221": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "222": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x8F61F4F5" - }, - "227": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "228": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x44C" - }, - "231": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "232": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "234": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "235": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "236": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "237": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "238": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x248A9CA3" - }, - "243": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "GT", - "path": "4" - }, - "244": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x159" - }, - "247": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "248": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "249": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x31D50750" - }, - "254": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "GT", - "path": "4" - }, - "255": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x133" - }, - "258": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "259": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "260": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x31D50750" - }, - "265": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "266": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x38C" - }, - "269": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "270": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "271": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x36568ABE" - }, - "276": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "277": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x3AC" - }, - "280": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "281": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "282": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x584B153E" - }, - "287": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "288": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x3CC" - }, - "291": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "292": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "293": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x64D62353" - }, - "298": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "299": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x3EC" - }, - "302": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "303": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "305": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "306": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "307": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "308": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "309": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x248A9CA3" - }, - "314": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "315": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x30B" - }, - "318": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "319": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "320": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x2AB0F529" - }, - "325": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "326": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x33B" - }, - "329": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "330": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "331": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x2F2FF15D" - }, - "336": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "337": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x36C" - }, - "340": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "341": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "343": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "344": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "345": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "346": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "347": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xD3CF6FC" - }, - "352": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "GT", - "path": "4" - }, - "353": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x195" - }, - "356": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "357": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "358": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0xD3CF6FC" - }, - "363": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "364": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x260" - }, - "367": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "368": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "369": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x134008D3" - }, - "374": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "375": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x294" - }, - "378": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "379": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "380": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x13BC9F20" - }, - "385": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "386": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2A7" - }, - "389": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "390": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "391": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x150B7A02" - }, - "396": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "397": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2C7" - }, - "400": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "401": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "403": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "404": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "405": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "406": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "407": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x1D5062A" - }, - "412": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "413": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1C7" - }, - "416": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "417": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "418": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x1FFC9A7" - }, - "423": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "424": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E9" - }, - "427": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "428": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "429": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH4", - "path": "4", - "value": "0x7BD0265" - }, - "434": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "EQ", - "path": "4" - }, - "435": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x21E" - }, - "438": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "439": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "441": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "442": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "443": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "444": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "445": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1C2" - }, - "448": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPI", - "path": "4" - }, - "449": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "STOP", - "path": "4" - }, - "450": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "JUMPDEST", - "path": "4" - }, - "451": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "453": { - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "DUP1", - "path": "4" - }, - "454": { - "first_revert": true, - "fn": null, - "offset": [ - 1030, - 14291 - ], - "op": "REVERT", - "path": "4" - }, - "455": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "JUMPDEST", - "path": "4" - }, - "456": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "CALLVALUE", - "path": "4" - }, - "457": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "DUP1", - "path": "4" - }, - "458": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "ISZERO", - "path": "4" - }, - "459": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1D3" - }, - "462": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "JUMPI", - "path": "4" - }, - "463": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "465": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "DUP1", - "path": "4" - }, - "466": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "REVERT", - "path": "4" - }, - "467": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "JUMPDEST", - "path": "4" - }, - "468": { - "op": "POP" - }, - "469": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E7" - }, - "472": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E2" - }, - "475": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "476": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "478": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "PUSH2", - "path": "4", - "value": "0x13C0" - }, - "481": { - "fn": "TimelockController.schedule", - "jump": "i", - "offset": [ - 7618, - 8020 - ], - "op": "JUMP", - "path": "4" - }, - "482": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "JUMPDEST", - "path": "4" - }, - "483": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5F6" - }, - "486": { - "fn": "TimelockController.schedule", - "jump": "i", - "offset": [ - 7618, - 8020 - ], - "op": "JUMP", - "path": "4" - }, - "487": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "JUMPDEST", - "path": "4" - }, - "488": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "STOP", - "path": "4" - }, - "489": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "JUMPDEST", - "path": "4" - }, - "490": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "CALLVALUE", - "path": "4" - }, - "491": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "DUP1", - "path": "4" - }, - "492": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "ISZERO", - "path": "4" - }, - "493": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1F5" - }, - "496": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "JUMPI", - "path": "4" - }, - "497": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "499": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "DUP1", - "path": "4" - }, - "500": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "REVERT", - "path": "4" - }, - "501": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "JUMPDEST", - "path": "4" - }, - "502": { - "op": "POP" - }, - "503": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH2", - "path": "4", - "value": "0x209" - }, - "506": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH2", - "path": "4", - "value": "0x204" - }, - "509": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "510": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "512": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1434" - }, - "515": { - "fn": "TimelockController.supportsInterface", - "jump": "i", - "offset": [ - 4770, - 4998 - ], - "op": "JUMP", - "path": "4" - }, - "516": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "JUMPDEST", - "path": "4" - }, - "517": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH2", - "path": "4", - "value": "0x68B" - }, - "520": { - "fn": "TimelockController.supportsInterface", - "jump": "i", - "offset": [ - 4770, - 4998 - ], - "op": "JUMP", - "path": "4" - }, - "521": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "JUMPDEST", - "path": "4" - }, - "522": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "524": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "MLOAD", - "path": "4" - }, - "525": { - "op": "SWAP1" - }, - "526": { - "op": "ISZERO" - }, - "527": { - "op": "ISZERO" - }, - "528": { - "op": "DUP2" - }, - "529": { - "op": "MSTORE" - }, - "530": { - "op": "PUSH1", - "value": "0x20" - }, - "532": { - "op": "ADD" - }, - "533": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "JUMPDEST", - "path": "4" - }, - "534": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "536": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "MLOAD", - "path": "4" - }, - "537": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "DUP1", - "path": "4" - }, - "538": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "SWAP2", - "path": "4" - }, - "539": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "SUB", - "path": "4" - }, - "540": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "SWAP1", - "path": "4" - }, - "541": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "RETURN", - "path": "4" - }, - "542": { - "offset": [ - 1272, - 1338 - ], - "op": "JUMPDEST", - "path": "4" - }, - "543": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "CALLVALUE", - "path": "4" - }, - "544": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "DUP1", - "path": "4" - }, - "545": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "ISZERO", - "path": "4" - }, - "546": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "PUSH2", - "path": "4", - "value": "0x22A" - }, - "549": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "JUMPI", - "path": "4" - }, - "550": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "552": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "DUP1", - "path": "4" - }, - "553": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "REVERT", - "path": "4" - }, - "554": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "JUMPDEST", - "path": "4" - }, - "555": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "POP", - "path": "4" - }, - "556": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "559": { - "offset": [ - 1312, - 1338 - ], - "op": "PUSH32", - "path": "4", - "value": "0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63" - }, - "592": { - "offset": [ - 1272, - 1338 - ], - "op": "DUP2", - "path": "4" - }, - "593": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "JUMP", - "path": "4" - }, - "594": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "JUMPDEST", - "path": "4" - }, - "595": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "597": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1272, - 1338 - ], - "op": "MLOAD", - "path": "4" - }, - "598": { - "op": "SWAP1" - }, - "599": { - "op": "DUP2" - }, - "600": { - "op": "MSTORE" - }, - "601": { - "op": "PUSH1", - "value": "0x20" - }, - "603": { - "op": "ADD" - }, - "604": { - "offset": [ - 1272, - 1338 - ], - "op": "PUSH2", - "path": "4", - "value": "0x215" - }, - "607": { - "op": "JUMP" - }, - "608": { - "offset": [ - 1116, - 1194 - ], - "op": "JUMPDEST", - "path": "4" - }, - "609": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "CALLVALUE", - "path": "4" - }, - "610": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "DUP1", - "path": "4" - }, - "611": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "ISZERO", - "path": "4" - }, - "612": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "PUSH2", - "path": "4", - "value": "0x26C" - }, - "615": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "JUMPI", - "path": "4" - }, - "616": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "618": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "DUP1", - "path": "4" - }, - "619": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "REVERT", - "path": "4" - }, - "620": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "JUMPDEST", - "path": "4" - }, - "621": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "POP", - "path": "4" - }, - "622": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "625": { - "offset": [ - 1162, - 1194 - ], - "op": "PUSH32", - "path": "4", - "value": "0x5F58E3A2316349923CE3780F8D587DB2D72378AED66A8261C916544FA6846CA5" - }, - "658": { - "offset": [ - 1116, - 1194 - ], - "op": "DUP2", - "path": "4" - }, - "659": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 1116, - 1194 - ], - "op": "JUMP", - "path": "4" - }, - "660": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "JUMPDEST", - "path": "4" - }, - "661": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E7" - }, - "664": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2A2" - }, - "667": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "668": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "670": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "PUSH2", - "path": "4", - "value": "0x145E" - }, - "673": { - "fn": "TimelockController.execute", - "jump": "i", - "offset": [ - 10216, - 10675 - ], - "op": "JUMP", - "path": "4" - }, - "674": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "JUMPDEST", - "path": "4" - }, - "675": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "PUSH2", - "path": "4", - "value": "0x6B6" - }, - "678": { - "fn": "TimelockController.execute", - "jump": "i", - "offset": [ - 10216, - 10675 - ], - "op": "JUMP", - "path": "4" - }, - "679": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "JUMPDEST", - "path": "4" - }, - "680": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "CALLVALUE", - "path": "4" - }, - "681": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "DUP1", - "path": "4" - }, - "682": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "ISZERO", - "path": "4" - }, - "683": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2B3" - }, - "686": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "JUMPI", - "path": "4" - }, - "687": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "689": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "DUP1", - "path": "4" - }, - "690": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "REVERT", - "path": "4" - }, - "691": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "JUMPDEST", - "path": "4" - }, - "692": { - "op": "POP" - }, - "693": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "PUSH2", - "path": "4", - "value": "0x209" - }, - "696": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2C2" - }, - "699": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "700": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "702": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "PUSH2", - "path": "4", - "value": "0x14C9" - }, - "705": { - "fn": "TimelockController.isOperationReady", - "jump": "i", - "offset": [ - 5580, - 5788 - ], - "op": "JUMP", - "path": "4" - }, - "706": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "JUMPDEST", - "path": "4" - }, - "707": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "PUSH2", - "path": "4", - "value": "0x76B" - }, - "710": { - "fn": "TimelockController.isOperationReady", - "jump": "i", - "offset": [ - 5580, - 5788 - ], - "op": "JUMP", - "path": "4" - }, - "711": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "JUMPDEST", - "path": "4" - }, - "712": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "CALLVALUE", - "path": "4" - }, - "713": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "DUP1", - "path": "4" - }, - "714": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "ISZERO", - "path": "4" - }, - "715": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2D3" - }, - "718": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "JUMPI", - "path": "4" - }, - "719": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "721": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "DUP1", - "path": "4" - }, - "722": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "REVERT", - "path": "4" - }, - "723": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "JUMPDEST", - "path": "4" - }, - "724": { - "op": "POP" - }, - "725": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2F2" - }, - "728": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2E2" - }, - "731": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "732": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "734": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1597" - }, - "737": { - "fn": "TimelockController.onERC721Received", - "jump": "i", - "offset": [ - 13466, - 13666 - ], - "op": "JUMP", - "path": "4" - }, - "738": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "JUMPDEST", - "path": "4" - }, - "739": { - "op": "PUSH4", - "value": "0xA85BD01" - }, - "744": { - "op": "PUSH1", - "value": "0xE1" - }, - "746": { - "op": "SHL" - }, - "747": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "SWAP5", - "path": "4" - }, - "748": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "SWAP4", - "path": "4" - }, - "749": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "POP", - "path": "4" - }, - "750": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "POP", - "path": "4" - }, - "751": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "POP", - "path": "4" - }, - "752": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "POP", - "path": "4" - }, - "753": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "JUMP", - "path": "4" - }, - "754": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "JUMPDEST", - "path": "4" - }, - "755": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "757": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "MLOAD", - "path": "4" - }, - "758": { - "op": "PUSH1", - "value": "0x1" - }, - "760": { - "op": "PUSH1", - "value": "0x1" - }, - "762": { - "op": "PUSH1", - "value": "0xE0" - }, - "764": { - "op": "SHL" - }, - "765": { - "op": "SUB" - }, - "766": { - "op": "NOT" - }, - "767": { - "op": "SWAP1" - }, - "768": { - "op": "SWAP2" - }, - "769": { - "op": "AND" - }, - "770": { - "op": "DUP2" - }, - "771": { - "op": "MSTORE" - }, - "772": { - "op": "PUSH1", - "value": "0x20" - }, - "774": { - "op": "ADD" - }, - "775": { - "fn": "TimelockController.onERC721Received", - "offset": [ - 13466, - 13666 - ], - "op": "PUSH2", - "path": "4", - "value": "0x215" - }, - "778": { - "op": "JUMP" - }, - "779": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "JUMPDEST", - "path": "0" - }, - "780": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "CALLVALUE", - "path": "0" - }, - "781": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "DUP1", - "path": "0" - }, - "782": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "ISZERO", - "path": "0" - }, - "783": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "PUSH2", - "path": "0", - "value": "0x317" - }, - "786": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "JUMPI", - "path": "0" - }, - "787": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "789": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "DUP1", - "path": "0" - }, - "790": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "REVERT", - "path": "0" - }, - "791": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "JUMPDEST", - "path": "0" - }, - "792": { - "op": "POP" - }, - "793": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "PUSH2", - "path": "0", - "value": "0x252" - }, - "796": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "PUSH2", - "path": "0", - "value": "0x326" - }, - "799": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "CALLDATASIZE", - "path": "0" - }, - "800": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "802": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "PUSH2", - "path": "0", - "value": "0x14C9" - }, - "805": { - "fn": "AccessControl.getRoleAdmin", - "jump": "i", - "offset": [ - 4378, - 4507 - ], - "op": "JUMP", - "path": "0" - }, - "806": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "JUMPDEST", - "path": "0" - }, - "807": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4452, - 4459 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "809": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "SWAP1", - "path": "0", - "statement": 0 - }, - "810": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP2", - "path": "0" - }, - "811": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "MSTORE", - "path": "0" - }, - "812": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "814": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP2", - "path": "0" - }, - "815": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "SWAP1", - "path": "0" - }, - "816": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "MSTORE", - "path": "0" - }, - "817": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "819": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "SWAP1", - "path": "0" - }, - "820": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "KECCAK256", - "path": "0" - }, - "821": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "PUSH1", - "path": "0", - "value": "0x1" - }, - "823": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "ADD", - "path": "0" - }, - "824": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "SLOAD", - "path": "0" - }, - "825": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "SWAP1", - "path": "0" - }, - "826": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4378, - 4507 - ], - "op": "JUMP", - "path": "0" - }, - "827": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "JUMPDEST", - "path": "4" - }, - "828": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "CALLVALUE", - "path": "4" - }, - "829": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "DUP1", - "path": "4" - }, - "830": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "ISZERO", - "path": "4" - }, - "831": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "PUSH2", - "path": "4", - "value": "0x347" - }, - "834": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "JUMPI", - "path": "4" - }, - "835": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "837": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "DUP1", - "path": "4" - }, - "838": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "REVERT", - "path": "4" - }, - "839": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "JUMPDEST", - "path": "4" - }, - "840": { - "op": "POP" - }, - "841": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "PUSH2", - "path": "4", - "value": "0x209" - }, - "844": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "PUSH2", - "path": "4", - "value": "0x356" - }, - "847": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "848": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "850": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "PUSH2", - "path": "4", - "value": "0x14C9" - }, - "853": { - "fn": "TimelockController.isOperationDone", - "jump": "i", - "offset": [ - 5867, - 6003 - ], - "op": "JUMP", - "path": "4" - }, - "854": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "JUMPDEST", - "path": "4" - }, - "855": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5933, - 5942 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "857": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4", - "statement": 1 - }, - "858": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "859": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "860": { - "offset": [ - 1470, - 1471 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "862": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "864": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "865": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "866": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "867": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "869": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "870": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP2", - "path": "4" - }, - "871": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "KECCAK256", - "path": "4" - }, - "872": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SLOAD", - "path": "4" - }, - "873": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5961, - 5996 - ], - "op": "EQ", - "path": "4", - "statement": 2 - }, - "874": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5961, - 5996 - ], - "op": "SWAP1", - "path": "4" - }, - "875": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5867, - 6003 - ], - "op": "JUMP", - "path": "4" - }, - "876": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "JUMPDEST", - "path": "0" - }, - "877": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "CALLVALUE", - "path": "0" - }, - "878": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "DUP1", - "path": "0" - }, - "879": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "ISZERO", - "path": "0" - }, - "880": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "PUSH2", - "path": "0", - "value": "0x378" - }, - "883": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "JUMPI", - "path": "0" - }, - "884": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "886": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "DUP1", - "path": "0" - }, - "887": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "REVERT", - "path": "0" - }, - "888": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "JUMPDEST", - "path": "0" - }, - "889": { - "op": "POP" - }, - "890": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1E7" - }, - "893": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "PUSH2", - "path": "0", - "value": "0x387" - }, - "896": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "CALLDATASIZE", - "path": "0" - }, - "897": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "899": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "PUSH2", - "path": "0", - "value": "0x15FE" - }, - "902": { - "fn": "AccessControl.grantRole", - "jump": "i", - "offset": [ - 4803, - 4948 - ], - "op": "JUMP", - "path": "0" - }, - "903": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "JUMPDEST", - "path": "0" - }, - "904": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "PUSH2", - "path": "0", - "value": "0x791" - }, - "907": { - "fn": "AccessControl.grantRole", - "jump": "i", - "offset": [ - 4803, - 4948 - ], - "op": "JUMP", - "path": "0" - }, - "908": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "JUMPDEST", - "path": "4" - }, - "909": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "CALLVALUE", - "path": "4" - }, - "910": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "DUP1", - "path": "4" - }, - "911": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "ISZERO", - "path": "4" - }, - "912": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "PUSH2", - "path": "4", - "value": "0x398" - }, - "915": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "JUMPI", - "path": "4" - }, - "916": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "918": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "DUP1", - "path": "4" - }, - "919": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "REVERT", - "path": "4" - }, - "920": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "JUMPDEST", - "path": "4" - }, - "921": { - "op": "POP" - }, - "922": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "PUSH2", - "path": "4", - "value": "0x209" - }, - "925": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "PUSH2", - "path": "4", - "value": "0x3A7" - }, - "928": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "929": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "931": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "PUSH2", - "path": "4", - "value": "0x14C9" - }, - "934": { - "fn": "TimelockController.isOperation", - "jump": "i", - "offset": [ - 5154, - 5277 - ], - "op": "JUMP", - "path": "4" - }, - "935": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "JUMPDEST", - "path": "4" - }, - "936": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "PUSH2", - "path": "4", - "value": "0x7BB" - }, - "939": { - "fn": "TimelockController.isOperation", - "jump": "i", - "offset": [ - 5154, - 5277 - ], - "op": "JUMP", - "path": "4" - }, - "940": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "JUMPDEST", - "path": "0" - }, - "941": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "CALLVALUE", - "path": "0" - }, - "942": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "DUP1", - "path": "0" - }, - "943": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "ISZERO", - "path": "0" - }, - "944": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "PUSH2", - "path": "0", - "value": "0x3B8" - }, - "947": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "JUMPI", - "path": "0" - }, - "948": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "950": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "DUP1", - "path": "0" - }, - "951": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "REVERT", - "path": "0" - }, - "952": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "JUMPDEST", - "path": "0" - }, - "953": { - "op": "POP" - }, - "954": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1E7" - }, - "957": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "PUSH2", - "path": "0", - "value": "0x3C7" - }, - "960": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "CALLDATASIZE", - "path": "0" - }, - "961": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "963": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "PUSH2", - "path": "0", - "value": "0x15FE" - }, - "966": { - "fn": "AccessControl.renounceRole", - "jump": "i", - "offset": [ - 5912, - 6126 - ], - "op": "JUMP", - "path": "0" - }, - "967": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "JUMPDEST", - "path": "0" - }, - "968": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "PUSH2", - "path": "0", - "value": "0x7D4" - }, - "971": { - "fn": "AccessControl.renounceRole", - "jump": "i", - "offset": [ - 5912, - 6126 - ], - "op": "JUMP", - "path": "0" - }, - "972": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "JUMPDEST", - "path": "4" - }, - "973": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "CALLVALUE", - "path": "4" - }, - "974": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "DUP1", - "path": "4" - }, - "975": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "ISZERO", - "path": "4" - }, - "976": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "PUSH2", - "path": "4", - "value": "0x3D8" - }, - "979": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "JUMPI", - "path": "4" - }, - "980": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "982": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "DUP1", - "path": "4" - }, - "983": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "REVERT", - "path": "4" - }, - "984": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "JUMPDEST", - "path": "4" - }, - "985": { - "op": "POP" - }, - "986": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "PUSH2", - "path": "4", - "value": "0x209" - }, - "989": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "PUSH2", - "path": "4", - "value": "0x3E7" - }, - "992": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "993": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "995": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "PUSH2", - "path": "4", - "value": "0x14C9" - }, - "998": { - "fn": "TimelockController.isOperationPending", - "jump": "i", - "offset": [ - 5359, - 5500 - ], - "op": "JUMP", - "path": "4" - }, - "999": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1000": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "PUSH2", - "path": "4", - "value": "0x857" - }, - "1003": { - "fn": "TimelockController.isOperationPending", - "jump": "i", - "offset": [ - 5359, - 5500 - ], - "op": "JUMP", - "path": "4" - }, - "1004": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1005": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1006": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "DUP1", - "path": "4" - }, - "1007": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "ISZERO", - "path": "4" - }, - "1008": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "PUSH2", - "path": "4", - "value": "0x3F8" - }, - "1011": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "JUMPI", - "path": "4" - }, - "1012": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1014": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "DUP1", - "path": "4" - }, - "1015": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "REVERT", - "path": "4" - }, - "1016": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1017": { - "op": "POP" - }, - "1018": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E7" - }, - "1021": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "PUSH2", - "path": "4", - "value": "0x407" - }, - "1024": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1025": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1027": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "PUSH2", - "path": "4", - "value": "0x14C9" - }, - "1030": { - "fn": "TimelockController.updateDelay", - "jump": "i", - "offset": [ - 13156, - 13392 - ], - "op": "JUMP", - "path": "4" - }, - "1031": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1032": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "PUSH2", - "path": "4", - "value": "0x86D" - }, - "1035": { - "fn": "TimelockController.updateDelay", - "jump": "i", - "offset": [ - 13156, - 13392 - ], - "op": "JUMP", - "path": "4" - }, - "1036": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1037": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1038": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "DUP1", - "path": "4" - }, - "1039": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "ISZERO", - "path": "4" - }, - "1040": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "PUSH2", - "path": "4", - "value": "0x418" - }, - "1043": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "JUMPI", - "path": "4" - }, - "1044": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1046": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "DUP1", - "path": "4" - }, - "1047": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "REVERT", - "path": "4" - }, - "1048": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1049": { - "op": "POP" - }, - "1050": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "1053": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "PUSH2", - "path": "4", - "value": "0x427" - }, - "1056": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1057": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1059": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "PUSH2", - "path": "4", - "value": "0x145E" - }, - "1062": { - "fn": "TimelockController.hashOperation", - "jump": "i", - "offset": [ - 6673, - 6957 - ], - "op": "JUMP", - "path": "4" - }, - "1063": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1064": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "PUSH2", - "path": "4", - "value": "0x911" - }, - "1067": { - "fn": "TimelockController.hashOperation", - "jump": "i", - "offset": [ - 6673, - 6957 - ], - "op": "JUMP", - "path": "4" - }, - "1068": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1069": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1070": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "DUP1", - "path": "4" - }, - "1071": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "ISZERO", - "path": "4" - }, - "1072": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "PUSH2", - "path": "4", - "value": "0x438" - }, - "1075": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "JUMPI", - "path": "4" - }, - "1076": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1078": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "DUP1", - "path": "4" - }, - "1079": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "REVERT", - "path": "4" - }, - "1080": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1081": { - "op": "POP" - }, - "1082": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E7" - }, - "1085": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "PUSH2", - "path": "4", - "value": "0x447" - }, - "1088": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1089": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1091": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "PUSH2", - "path": "4", - "value": "0x166E" - }, - "1094": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8274, - 8987 - ], - "op": "JUMP", - "path": "4" - }, - "1095": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1096": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "PUSH2", - "path": "4", - "value": "0x950" - }, - "1099": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8274, - 8987 - ], - "op": "JUMP", - "path": "4" - }, - "1100": { - "offset": [ - 1200, - 1266 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1101": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1102": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "DUP1", - "path": "4" - }, - "1103": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "ISZERO", - "path": "4" - }, - "1104": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "PUSH2", - "path": "4", - "value": "0x458" - }, - "1107": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "JUMPI", - "path": "4" - }, - "1108": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1110": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "DUP1", - "path": "4" - }, - "1111": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "REVERT", - "path": "4" - }, - "1112": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1113": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "POP", - "path": "4" - }, - "1114": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "1117": { - "offset": [ - 1240, - 1266 - ], - "op": "PUSH32", - "path": "4", - "value": "0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1" - }, - "1150": { - "offset": [ - 1200, - 1266 - ], - "op": "DUP2", - "path": "4" - }, - "1151": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 1200, - 1266 - ], - "op": "JUMP", - "path": "4" - }, - "1152": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1153": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "CALLVALUE", - "path": "0" - }, - "1154": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "DUP1", - "path": "0" - }, - "1155": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "ISZERO", - "path": "0" - }, - "1156": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "PUSH2", - "path": "0", - "value": "0x48C" - }, - "1159": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "JUMPI", - "path": "0" - }, - "1160": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "1162": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "DUP1", - "path": "0" - }, - "1163": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "REVERT", - "path": "0" - }, - "1164": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1165": { - "op": "POP" - }, - "1166": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "PUSH2", - "path": "0", - "value": "0x209" - }, - "1169": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "PUSH2", - "path": "0", - "value": "0x49B" - }, - "1172": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "CALLDATASIZE", - "path": "0" - }, - "1173": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "1175": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "PUSH2", - "path": "0", - "value": "0x15FE" - }, - "1178": { - "fn": "AccessControl.hasRole", - "jump": "i", - "offset": [ - 2895, - 3040 - ], - "op": "JUMP", - "path": "0" - }, - "1179": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1180": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "PUSH2", - "path": "0", - "value": "0xAA2" - }, - "1183": { - "fn": "AccessControl.hasRole", - "jump": "i", - "offset": [ - 2895, - 3040 - ], - "op": "JUMP", - "path": "0" - }, - "1184": { - "offset": [ - 2027, - 2076 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1185": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "CALLVALUE", - "path": "0" - }, - "1186": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "DUP1", - "path": "0" - }, - "1187": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "ISZERO", - "path": "0" - }, - "1188": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "PUSH2", - "path": "0", - "value": "0x4AC" - }, - "1191": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "JUMPI", - "path": "0" - }, - "1192": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "1194": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "DUP1", - "path": "0" - }, - "1195": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "REVERT", - "path": "0" - }, - "1196": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1197": { - "op": "POP" - }, - "1198": { - "offset": [ - 2027, - 2076 - ], - "op": "PUSH2", - "path": "0", - "value": "0x252" - }, - "1201": { - "offset": [ - 2072, - 2076 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "1203": { - "offset": [ - 2027, - 2076 - ], - "op": "DUP2", - "path": "0" - }, - "1204": { - "fn": "AccessControl.hasRole", - "offset": [ - 2027, - 2076 - ], - "op": "JUMP", - "path": "0" - }, - "1205": { - "offset": [ - 1344, - 1412 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1206": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1207": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "DUP1", - "path": "4" - }, - "1208": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "ISZERO", - "path": "4" - }, - "1209": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "PUSH2", - "path": "4", - "value": "0x4C1" - }, - "1212": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "JUMPI", - "path": "4" - }, - "1213": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1215": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "DUP1", - "path": "4" - }, - "1216": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "REVERT", - "path": "4" - }, - "1217": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1218": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "POP", - "path": "4" - }, - "1219": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "1222": { - "offset": [ - 1385, - 1412 - ], - "op": "PUSH32", - "path": "4", - "value": "0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783" - }, - "1255": { - "offset": [ - 1344, - 1412 - ], - "op": "DUP2", - "path": "4" - }, - "1256": { - "fn": "AccessControl.hasRole", - "offset": [ - 1344, - 1412 - ], - "op": "JUMP", - "path": "4" - }, - "1257": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1258": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1259": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "DUP1", - "path": "4" - }, - "1260": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "ISZERO", - "path": "4" - }, - "1261": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "PUSH2", - "path": "4", - "value": "0x4F5" - }, - "1264": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "JUMPI", - "path": "4" - }, - "1265": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1267": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "DUP1", - "path": "4" - }, - "1268": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "REVERT", - "path": "4" - }, - "1269": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1270": { - "op": "POP" - }, - "1271": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "1274": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "PUSH2", - "path": "4", - "value": "0x504" - }, - "1277": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1278": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1280": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "PUSH2", - "path": "4", - "value": "0x171F" - }, - "1283": { - "fn": "TimelockController.hashOperationBatch", - "jump": "i", - "offset": [ - 7073, - 7398 - ], - "op": "JUMP", - "path": "4" - }, - "1284": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1285": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "PUSH2", - "path": "4", - "value": "0xACB" - }, - "1288": { - "fn": "TimelockController.hashOperationBatch", - "jump": "i", - "offset": [ - 7073, - 7398 - ], - "op": "JUMP", - "path": "4" - }, - "1289": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1290": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1291": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "DUP1", - "path": "4" - }, - "1292": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "ISZERO", - "path": "4" - }, - "1293": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "PUSH2", - "path": "4", - "value": "0x515" - }, - "1296": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "JUMPI", - "path": "4" - }, - "1297": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1299": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "DUP1", - "path": "4" - }, - "1300": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "REVERT", - "path": "4" - }, - "1301": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1302": { - "op": "POP" - }, - "1303": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2F2" - }, - "1306": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "PUSH2", - "path": "4", - "value": "0x524" - }, - "1309": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1310": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1312": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1846" - }, - "1315": { - "fn": "TimelockController.onERC1155BatchReceived", - "jump": "i", - "offset": [ - 14042, - 14289 - ], - "op": "JUMP", - "path": "4" - }, - "1316": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1317": { - "op": "PUSH4", - "value": "0xBC197C81" - }, - "1322": { - "op": "PUSH1", - "value": "0xE0" - }, - "1324": { - "op": "SHL" - }, - "1325": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "SWAP6", - "path": "4" - }, - "1326": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "SWAP5", - "path": "4" - }, - "1327": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "POP", - "path": "4" - }, - "1328": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "POP", - "path": "4" - }, - "1329": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "POP", - "path": "4" - }, - "1330": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "POP", - "path": "4" - }, - "1331": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "POP", - "path": "4" - }, - "1332": { - "fn": "TimelockController.onERC1155BatchReceived", - "offset": [ - 14042, - 14289 - ], - "op": "JUMP", - "path": "4" - }, - "1333": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1334": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1335": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "DUP1", - "path": "4" - }, - "1336": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "ISZERO", - "path": "4" - }, - "1337": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "PUSH2", - "path": "4", - "value": "0x541" - }, - "1340": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "JUMPI", - "path": "4" - }, - "1341": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1343": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "DUP1", - "path": "4" - }, - "1344": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "REVERT", - "path": "4" - }, - "1345": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1346": { - "op": "POP" - }, - "1347": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E7" - }, - "1350": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "PUSH2", - "path": "4", - "value": "0x550" - }, - "1353": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1354": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1356": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "PUSH2", - "path": "4", - "value": "0x14C9" - }, - "1359": { - "fn": "TimelockController.cancel", - "jump": "i", - "offset": [ - 9512, - 9742 - ], - "op": "JUMP", - "path": "4" - }, - "1360": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1361": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "PUSH2", - "path": "4", - "value": "0xB10" - }, - "1364": { - "fn": "TimelockController.cancel", - "jump": "i", - "offset": [ - 9512, - 9742 - ], - "op": "JUMP", - "path": "4" - }, - "1365": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1366": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1367": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "DUP1", - "path": "4" - }, - "1368": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "ISZERO", - "path": "4" - }, - "1369": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "PUSH2", - "path": "4", - "value": "0x561" - }, - "1372": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "JUMPI", - "path": "4" - }, - "1373": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1375": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "DUP1", - "path": "4" - }, - "1376": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "REVERT", - "path": "4" - }, - "1377": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1378": { - "op": "POP" - }, - "1379": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "1382": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "PUSH2", - "path": "4", - "value": "0x570" - }, - "1385": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1386": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1388": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "PUSH2", - "path": "4", - "value": "0x14C9" - }, - "1391": { - "fn": "TimelockController.getTimestamp", - "jump": "i", - "offset": [ - 6150, - 6271 - ], - "op": "JUMP", - "path": "4" - }, - "1392": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1393": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6213, - 6230 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1395": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "1396": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "1397": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "1398": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6260 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "1400": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "1402": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "1403": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "1405": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "1406": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "KECCAK256", - "path": "4" - }, - "1407": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SLOAD", - "path": "4" - }, - "1408": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "1409": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "JUMP", - "path": "4" - }, - "1410": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1411": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "CALLVALUE", - "path": "0" - }, - "1412": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "DUP1", - "path": "0" - }, - "1413": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "ISZERO", - "path": "0" - }, - "1414": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "PUSH2", - "path": "0", - "value": "0x58E" - }, - "1417": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "JUMPI", - "path": "0" - }, - "1418": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "1420": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "DUP1", - "path": "0" - }, - "1421": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "REVERT", - "path": "0" - }, - "1422": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1423": { - "op": "POP" - }, - "1424": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1E7" - }, - "1427": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "PUSH2", - "path": "0", - "value": "0x59D" - }, - "1430": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "CALLDATASIZE", - "path": "0" - }, - "1431": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "1433": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "PUSH2", - "path": "0", - "value": "0x15FE" - }, - "1436": { - "fn": "AccessControl.revokeRole", - "jump": "i", - "offset": [ - 5228, - 5375 - ], - "op": "JUMP", - "path": "0" - }, - "1437": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1438": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "PUSH2", - "path": "0", - "value": "0xBE5" - }, - "1441": { - "fn": "AccessControl.revokeRole", - "jump": "i", - "offset": [ - 5228, - 5375 - ], - "op": "JUMP", - "path": "0" - }, - "1442": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1443": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1E7" - }, - "1446": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5B0" - }, - "1449": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1450": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1452": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "PUSH2", - "path": "4", - "value": "0x171F" - }, - "1455": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 10935, - 11818 - ], - "op": "JUMP", - "path": "4" - }, - "1456": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1457": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC0A" - }, - "1460": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 10935, - 11818 - ], - "op": "JUMP", - "path": "4" - }, - "1461": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1462": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1463": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "DUP1", - "path": "4" - }, - "1464": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "ISZERO", - "path": "4" - }, - "1465": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5C1" - }, - "1468": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "JUMPI", - "path": "4" - }, - "1469": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1471": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "DUP1", - "path": "4" - }, - "1472": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "REVERT", - "path": "4" - }, - "1473": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1474": { - "op": "POP" - }, - "1475": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "PUSH2", - "path": "4", - "value": "0x2F2" - }, - "1478": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5D0" - }, - "1481": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "1482": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "1484": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "PUSH2", - "path": "4", - "value": "0x18EF" - }, - "1487": { - "fn": "TimelockController.onERC1155Received", - "jump": "i", - "offset": [ - 13742, - 13961 - ], - "op": "JUMP", - "path": "4" - }, - "1488": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1489": { - "op": "PUSH4", - "value": "0xF23A6E61" - }, - "1494": { - "op": "PUSH1", - "value": "0xE0" - }, - "1496": { - "op": "SHL" - }, - "1497": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "SWAP6", - "path": "4" - }, - "1498": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "SWAP5", - "path": "4" - }, - "1499": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "POP", - "path": "4" - }, - "1500": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "POP", - "path": "4" - }, - "1501": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "POP", - "path": "4" - }, - "1502": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "POP", - "path": "4" - }, - "1503": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "POP", - "path": "4" - }, - "1504": { - "fn": "TimelockController.onERC1155Received", - "offset": [ - 13742, - 13961 - ], - "op": "JUMP", - "path": "4" - }, - "1505": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1506": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "CALLVALUE", - "path": "4" - }, - "1507": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "DUP1", - "path": "4" - }, - "1508": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "ISZERO", - "path": "4" - }, - "1509": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "PUSH2", - "path": "4", - "value": "0x5ED" - }, - "1512": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "JUMPI", - "path": "4" - }, - "1513": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1515": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "DUP1", - "path": "4" - }, - "1516": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "REVERT", - "path": "4" - }, - "1517": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1518": { - "op": "POP" - }, - "1519": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6544, - 6553 - ], - "op": "PUSH1", - "path": "4", - "statement": 3, - "value": "0x2" - }, - "1521": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6544, - 6553 - ], - "op": "SLOAD", - "path": "4" - }, - "1522": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "PUSH2", - "path": "4", - "value": "0x252" - }, - "1525": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6457, - 6560 - ], - "op": "JUMP", - "path": "4" - }, - "1526": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1527": { - "offset": [ - 1240, - 1266 - ], - "op": "PUSH32", - "path": "4", - "value": "0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1" - }, - "1560": { - "offset": [ - 2505, - 2521 - ], - "op": "PUSH2", - "path": "0", - "value": "0x620" - }, - "1563": { - "offset": [ - 2516, - 2520 - ], - "op": "DUP2", - "path": "0" - }, - "1564": { - "offset": [ - 2505, - 2515 - ], - "op": "PUSH2", - "path": "0", - "value": "0xD94" - }, - "1567": { - "jump": "i", - "offset": [ - 2505, - 2521 - ], - "op": "JUMP", - "path": "0" - }, - "1568": { - "fn": "TimelockController.schedule", - "offset": [ - 2505, - 2521 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1569": { - "fn": "TimelockController.schedule", - "offset": [ - 7841, - 7851 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1571": { - "fn": "TimelockController.schedule", - "offset": [ - 7854, - 7907 - ], - "op": "PUSH2", - "path": "4", - "value": "0x630" - }, - "1574": { - "fn": "TimelockController.schedule", - "offset": [ - 7868, - 7874 - ], - "op": "DUP10", - "path": "4" - }, - "1575": { - "fn": "TimelockController.schedule", - "offset": [ - 7876, - 7881 - ], - "op": "DUP10", - "path": "4" - }, - "1576": { - "fn": "TimelockController.schedule", - "offset": [ - 7883, - 7887 - ], - "op": "DUP10", - "path": "4" - }, - "1577": { - "fn": "TimelockController.schedule", - "offset": [ - 7883, - 7887 - ], - "op": "DUP10", - "path": "4" - }, - "1578": { - "fn": "TimelockController.schedule", - "offset": [ - 7889, - 7900 - ], - "op": "DUP10", - "path": "4" - }, - "1579": { - "fn": "TimelockController.schedule", - "offset": [ - 7902, - 7906 - ], - "op": "DUP10", - "path": "4" - }, - "1580": { - "fn": "TimelockController.schedule", - "offset": [ - 7854, - 7867 - ], - "op": "PUSH2", - "path": "4", - "value": "0x911" - }, - "1583": { - "fn": "TimelockController.schedule", - "jump": "i", - "offset": [ - 7854, - 7907 - ], - "op": "JUMP", - "path": "4" - }, - "1584": { - "fn": "TimelockController.schedule", - "offset": [ - 7854, - 7907 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1585": { - "fn": "TimelockController.schedule", - "offset": [ - 7841, - 7907 - ], - "op": "SWAP1", - "path": "4" - }, - "1586": { - "fn": "TimelockController.schedule", - "offset": [ - 7841, - 7907 - ], - "op": "POP", - "path": "4" - }, - "1587": { - "fn": "TimelockController.schedule", - "offset": [ - 7917, - 7937 - ], - "op": "PUSH2", - "path": "4", - "statement": 4, - "value": "0x63C" - }, - "1590": { - "fn": "TimelockController.schedule", - "offset": [ - 7927, - 7929 - ], - "op": "DUP2", - "path": "4" - }, - "1591": { - "fn": "TimelockController.schedule", - "offset": [ - 7931, - 7936 - ], - "op": "DUP5", - "path": "4" - }, - "1592": { - "fn": "TimelockController.schedule", - "offset": [ - 7917, - 7926 - ], - "op": "PUSH2", - "path": "4", - "value": "0xDA1" - }, - "1595": { - "fn": "TimelockController.schedule", - "jump": "i", - "offset": [ - 7917, - 7937 - ], - "op": "JUMP", - "path": "4" - }, - "1596": { - "fn": "TimelockController.schedule", - "offset": [ - 7917, - 7937 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1597": { - "fn": "TimelockController.schedule", - "offset": [ - 7970, - 7971 - ], - "op": "PUSH1", - "path": "4", - "statement": 5, - "value": "0x0" - }, - "1599": { - "fn": "TimelockController.schedule", - "offset": [ - 7966, - 7968 - ], - "op": "DUP2", - "path": "4" - }, - "1600": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "PUSH32", - "path": "4", - "value": "0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA" - }, - "1633": { - "fn": "TimelockController.schedule", - "offset": [ - 7973, - 7979 - ], - "op": "DUP12", - "path": "4" - }, - "1634": { - "fn": "TimelockController.schedule", - "offset": [ - 7981, - 7986 - ], - "op": "DUP12", - "path": "4" - }, - "1635": { - "fn": "TimelockController.schedule", - "offset": [ - 7988, - 7992 - ], - "op": "DUP12", - "path": "4" - }, - "1636": { - "fn": "TimelockController.schedule", - "offset": [ - 7988, - 7992 - ], - "op": "DUP12", - "path": "4" - }, - "1637": { - "fn": "TimelockController.schedule", - "offset": [ - 7994, - 8005 - ], - "op": "DUP12", - "path": "4" - }, - "1638": { - "fn": "TimelockController.schedule", - "offset": [ - 8007, - 8012 - ], - "op": "DUP11", - "path": "4" - }, - "1639": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "1641": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "MLOAD", - "path": "4" - }, - "1642": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "PUSH2", - "path": "4", - "value": "0x678" - }, - "1645": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP7", - "path": "4" - }, - "1646": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP6", - "path": "4" - }, - "1647": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP5", - "path": "4" - }, - "1648": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP4", - "path": "4" - }, - "1649": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP3", - "path": "4" - }, - "1650": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP2", - "path": "4" - }, - "1651": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP1", - "path": "4" - }, - "1652": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "PUSH2", - "path": "4", - "value": "0x197C" - }, - "1655": { - "fn": "TimelockController.schedule", - "jump": "i", - "offset": [ - 7952, - 8013 - ], - "op": "JUMP", - "path": "4" - }, - "1656": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1657": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "1659": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "MLOAD", - "path": "4" - }, - "1660": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "DUP1", - "path": "4" - }, - "1661": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP2", - "path": "4" - }, - "1662": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SUB", - "path": "4" - }, - "1663": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "SWAP1", - "path": "4" - }, - "1664": { - "fn": "TimelockController.schedule", - "offset": [ - 7952, - 8013 - ], - "op": "LOG3", - "path": "4" - }, - "1665": { - "fn": "TimelockController.schedule", - "offset": [ - 7831, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1666": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1667": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1668": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1669": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1670": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1671": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1672": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1673": { - "fn": "TimelockController.schedule", - "offset": [ - 7618, - 8020 - ], - "op": "POP", - "path": "4" - }, - "1674": { - "fn": "TimelockController.schedule", - "jump": "o", - "offset": [ - 7618, - 8020 - ], - "op": "JUMP", - "path": "4" - }, - "1675": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1676": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4879, - 4883 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1678": { - "op": "PUSH1", - "value": "0x1" - }, - "1680": { - "op": "PUSH1", - "value": "0x1" - }, - "1682": { - "op": "PUSH1", - "value": "0xE0" - }, - "1684": { - "op": "SHL" - }, - "1685": { - "op": "SUB" - }, - "1686": { - "op": "NOT" - }, - "1687": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4902, - 4951 - ], - "op": "DUP3", - "path": "4", - "statement": 6 - }, - "1688": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4902, - 4951 - ], - "op": "AND", - "path": "4" - }, - "1689": { - "op": "PUSH4", - "value": "0x2711897" - }, - "1694": { - "op": "PUSH1", - "value": "0xE5" - }, - "1696": { - "op": "SHL" - }, - "1697": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4902, - 4951 - ], - "op": "EQ", - "path": "4" - }, - "1698": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4902, - 4951 - ], - "op": "DUP1", - "path": "4" - }, - "1699": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4902, - 4991 - ], - "op": "PUSH2", - "path": "4", - "value": "0x6B0" - }, - "1702": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4902, - 4991 - ], - "op": "JUMPI", - "path": "4" - }, - "1703": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4902, - 4991 - ], - "op": "POP", - "path": "4" - }, - "1704": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4955, - 4991 - ], - "op": "PUSH2", - "path": "4", - "value": "0x6B0" - }, - "1707": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4979, - 4990 - ], - "op": "DUP3", - "path": "4" - }, - "1708": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4955, - 4978 - ], - "op": "PUSH2", - "path": "4", - "value": "0xE90" - }, - "1711": { - "fn": "TimelockController.supportsInterface", - "jump": "i", - "offset": [ - 4955, - 4991 - ], - "op": "JUMP", - "path": "4" - }, - "1712": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4955, - 4991 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1713": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4895, - 4991 - ], - "op": "SWAP3", - "path": "4" - }, - "1714": { - "fn": "TimelockController.supportsInterface", - "offset": [ - 4770, - 4998 - ], - "op": "SWAP2", - "path": "4" - }, - "1715": { - "op": "POP" - }, - "1716": { - "op": "POP" - }, - "1717": { - "fn": "TimelockController.supportsInterface", - "jump": "o", - "offset": [ - 4770, - 4998 - ], - "op": "JUMP", - "path": "4" - }, - "1718": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1719": { - "offset": [ - 1312, - 1338 - ], - "op": "PUSH32", - "path": "4", - "value": "0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63" - }, - "1752": { - "offset": [ - 4473, - 4498 - ], - "op": "PUSH2", - "path": "4", - "value": "0x6E2" - }, - "1755": { - "offset": [ - 4481, - 4485 - ], - "op": "DUP2", - "path": "4" - }, - "1756": { - "offset": [ - 4495, - 4496 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1758": { - "offset": [ - 4473, - 4480 - ], - "op": "PUSH2", - "path": "4", - "value": "0xAA2" - }, - "1761": { - "jump": "i", - "offset": [ - 4473, - 4498 - ], - "op": "JUMP", - "path": "4" - }, - "1762": { - "fn": "TimelockController.execute", - "offset": [ - 4473, - 4498 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1763": { - "offset": [ - 4468, - 4555 - ], - "op": "PUSH2", - "path": "4", - "value": "0x6F0" - }, - "1766": { - "offset": [ - 4468, - 4555 - ], - "op": "JUMPI", - "path": "4" - }, - "1767": { - "offset": [ - 4514, - 4544 - ], - "op": "PUSH2", - "path": "4", - "value": "0x6F0" - }, - "1770": { - "offset": [ - 4525, - 4529 - ], - "op": "DUP2", - "path": "4" - }, - "1771": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22", - "statement": 7 - }, - "1772": { - "offset": [ - 4514, - 4524 - ], - "op": "PUSH2", - "path": "4", - "value": "0xEC5" - }, - "1775": { - "jump": "i", - "offset": [ - 4514, - 4544 - ], - "op": "JUMP", - "path": "4" - }, - "1776": { - "fn": "Context._msgSender", - "offset": [ - 4514, - 4544 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1777": { - "fn": "TimelockController.execute", - "offset": [ - 10436, - 10446 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1779": { - "fn": "TimelockController.execute", - "offset": [ - 10449, - 10505 - ], - "op": "PUSH2", - "path": "4", - "value": "0x700" - }, - "1782": { - "fn": "TimelockController.execute", - "offset": [ - 10463, - 10469 - ], - "op": "DUP9", - "path": "4" - }, - "1783": { - "fn": "TimelockController.execute", - "offset": [ - 10471, - 10476 - ], - "op": "DUP9", - "path": "4" - }, - "1784": { - "fn": "TimelockController.execute", - "offset": [ - 10478, - 10485 - ], - "op": "DUP9", - "path": "4" - }, - "1785": { - "fn": "TimelockController.execute", - "offset": [ - 10478, - 10485 - ], - "op": "DUP9", - "path": "4" - }, - "1786": { - "fn": "TimelockController.execute", - "offset": [ - 10487, - 10498 - ], - "op": "DUP9", - "path": "4" - }, - "1787": { - "fn": "TimelockController.execute", - "offset": [ - 10500, - 10504 - ], - "op": "DUP9", - "path": "4" - }, - "1788": { - "fn": "TimelockController.execute", - "offset": [ - 10449, - 10462 - ], - "op": "PUSH2", - "path": "4", - "value": "0x911" - }, - "1791": { - "fn": "TimelockController.execute", - "jump": "i", - "offset": [ - 10449, - 10505 - ], - "op": "JUMP", - "path": "4" - }, - "1792": { - "fn": "TimelockController.execute", - "offset": [ - 10449, - 10505 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1793": { - "fn": "TimelockController.execute", - "offset": [ - 10436, - 10505 - ], - "op": "SWAP1", - "path": "4" - }, - "1794": { - "fn": "TimelockController.execute", - "offset": [ - 10436, - 10505 - ], - "op": "POP", - "path": "4" - }, - "1795": { - "fn": "TimelockController.execute", - "offset": [ - 10516, - 10544 - ], - "op": "PUSH2", - "path": "4", - "statement": 8, - "value": "0x70C" - }, - "1798": { - "fn": "TimelockController.execute", - "offset": [ - 10528, - 10530 - ], - "op": "DUP2", - "path": "4" - }, - "1799": { - "fn": "TimelockController.execute", - "offset": [ - 10532, - 10543 - ], - "op": "DUP6", - "path": "4" - }, - "1800": { - "fn": "TimelockController.execute", - "offset": [ - 10516, - 10527 - ], - "op": "PUSH2", - "path": "4", - "value": "0xF1E" - }, - "1803": { - "fn": "TimelockController.execute", - "jump": "i", - "offset": [ - 10516, - 10544 - ], - "op": "JUMP", - "path": "4" - }, - "1804": { - "fn": "TimelockController.execute", - "offset": [ - 10516, - 10544 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1805": { - "fn": "TimelockController.execute", - "offset": [ - 10554, - 10586 - ], - "op": "PUSH2", - "path": "4", - "statement": 9, - "value": "0x718" - }, - "1808": { - "fn": "TimelockController.execute", - "offset": [ - 10563, - 10569 - ], - "op": "DUP9", - "path": "4" - }, - "1809": { - "fn": "TimelockController.execute", - "offset": [ - 10571, - 10576 - ], - "op": "DUP9", - "path": "4" - }, - "1810": { - "fn": "TimelockController.execute", - "offset": [ - 10578, - 10585 - ], - "op": "DUP9", - "path": "4" - }, - "1811": { - "fn": "TimelockController.execute", - "offset": [ - 10578, - 10585 - ], - "op": "DUP9", - "path": "4" - }, - "1812": { - "fn": "TimelockController.execute", - "offset": [ - 10554, - 10562 - ], - "op": "PUSH2", - "path": "4", - "value": "0xFBA" - }, - "1815": { - "fn": "TimelockController.execute", - "jump": "i", - "offset": [ - 10554, - 10586 - ], - "op": "JUMP", - "path": "4" - }, - "1816": { - "fn": "TimelockController.execute", - "offset": [ - 10554, - 10586 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1817": { - "fn": "TimelockController.execute", - "offset": [ - 10618, - 10619 - ], - "op": "PUSH1", - "path": "4", - "statement": 10, - "value": "0x0" - }, - "1819": { - "fn": "TimelockController.execute", - "offset": [ - 10614, - 10616 - ], - "op": "DUP2", - "path": "4" - }, - "1820": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "PUSH32", - "path": "4", - "value": "0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58" - }, - "1853": { - "fn": "TimelockController.execute", - "offset": [ - 10621, - 10627 - ], - "op": "DUP11", - "path": "4" - }, - "1854": { - "fn": "TimelockController.execute", - "offset": [ - 10629, - 10634 - ], - "op": "DUP11", - "path": "4" - }, - "1855": { - "fn": "TimelockController.execute", - "offset": [ - 10636, - 10643 - ], - "op": "DUP11", - "path": "4" - }, - "1856": { - "fn": "TimelockController.execute", - "offset": [ - 10636, - 10643 - ], - "op": "DUP11", - "path": "4" - }, - "1857": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "1859": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "MLOAD", - "path": "4" - }, - "1860": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "PUSH2", - "path": "4", - "value": "0x750" - }, - "1863": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SWAP5", - "path": "4" - }, - "1864": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SWAP4", - "path": "4" - }, - "1865": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SWAP3", - "path": "4" - }, - "1866": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SWAP2", - "path": "4" - }, - "1867": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SWAP1", - "path": "4" - }, - "1868": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "PUSH2", - "path": "4", - "value": "0x19B9" - }, - "1871": { - "fn": "TimelockController.execute", - "jump": "i", - "offset": [ - 10601, - 10644 - ], - "op": "JUMP", - "path": "4" - }, - "1872": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1873": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "1875": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "MLOAD", - "path": "4" - }, - "1876": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "DUP1", - "path": "4" - }, - "1877": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SWAP2", - "path": "4" - }, - "1878": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SUB", - "path": "4" - }, - "1879": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "SWAP1", - "path": "4" - }, - "1880": { - "fn": "TimelockController.execute", - "offset": [ - 10601, - 10644 - ], - "op": "LOG3", - "path": "4" - }, - "1881": { - "fn": "TimelockController.execute", - "offset": [ - 10654, - 10668 - ], - "op": "PUSH2", - "path": "4", - "statement": 11, - "value": "0x761" - }, - "1884": { - "fn": "TimelockController.execute", - "offset": [ - 10665, - 10667 - ], - "op": "DUP2", - "path": "4" - }, - "1885": { - "fn": "TimelockController.execute", - "offset": [ - 10654, - 10664 - ], - "op": "PUSH2", - "path": "4", - "value": "0x108D" - }, - "1888": { - "fn": "TimelockController.execute", - "jump": "i", - "offset": [ - 10654, - 10668 - ], - "op": "JUMP", - "path": "4" - }, - "1889": { - "fn": "TimelockController.execute", - "offset": [ - 10654, - 10668 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1890": { - "fn": "TimelockController.execute", - "offset": [ - 10426, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1891": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1892": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1893": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1894": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1895": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1896": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1897": { - "fn": "TimelockController.execute", - "offset": [ - 10216, - 10675 - ], - "op": "POP", - "path": "4" - }, - "1898": { - "fn": "TimelockController.execute", - "jump": "o", - "offset": [ - 10216, - 10675 - ], - "op": "JUMP", - "path": "4" - }, - "1899": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1900": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5647, - 5657 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1902": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "1903": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "1904": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "1905": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6260 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "1907": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "1909": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "1910": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "1912": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "1913": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "KECCAK256", - "path": "4" - }, - "1914": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SLOAD", - "path": "4" - }, - "1915": { - "offset": [ - 1470, - 1471 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "1917": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5731 - ], - "op": "DUP2", - "path": "4", - "statement": 12 - }, - "1918": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5749 - ], - "op": "GT", - "path": "4" - }, - "1919": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5781 - ], - "op": "DUP1", - "path": "4" - }, - "1920": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5781 - ], - "op": "ISZERO", - "path": "4" - }, - "1921": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5781 - ], - "op": "PUSH2", - "path": "4", - "value": "0x78A" - }, - "1924": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5781 - ], - "op": "JUMPI", - "path": "4" - }, - "1925": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5781 - ], - "op": "POP", - "path": "4" - }, - "1926": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5766, - 5781 - ], - "op": "TIMESTAMP", - "path": "4" - }, - "1927": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5753, - 5762 - ], - "op": "DUP2", - "path": "4" - }, - "1928": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5753, - 5781 - ], - "op": "GT", - "path": "4" - }, - "1929": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5753, - 5781 - ], - "op": "ISZERO", - "path": "4" - }, - "1930": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5722, - 5781 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1931": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5715, - 5781 - ], - "op": "SWAP4", - "path": "4" - }, - "1932": { - "fn": "TimelockController.isOperationReady", - "offset": [ - 5580, - 5788 - ], - "op": "SWAP3", - "path": "4" - }, - "1933": { - "op": "POP" - }, - "1934": { - "op": "POP" - }, - "1935": { - "op": "POP" - }, - "1936": { - "fn": "TimelockController.isOperationReady", - "jump": "o", - "offset": [ - 5580, - 5788 - ], - "op": "JUMP", - "path": "4" - }, - "1937": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1938": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4452, - 4459 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "1940": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP3", - "path": "0" - }, - "1941": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP2", - "path": "0" - }, - "1942": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "MSTORE", - "path": "0" - }, - "1943": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "1945": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP2", - "path": "0" - }, - "1946": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "SWAP1", - "path": "0" - }, - "1947": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "MSTORE", - "path": "0" - }, - "1948": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "1950": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "SWAP1", - "path": "0" - }, - "1951": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "KECCAK256", - "path": "0" - }, - "1952": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "PUSH1", - "path": "0", - "value": "0x1" - }, - "1954": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "ADD", - "path": "0" - }, - "1955": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "SLOAD", - "path": "0" - }, - "1956": { - "offset": [ - 2505, - 2521 - ], - "op": "PUSH2", - "path": "0", - "value": "0x7AC" - }, - "1959": { - "offset": [ - 2516, - 2520 - ], - "op": "DUP2", - "path": "0" - }, - "1960": { - "offset": [ - 2505, - 2515 - ], - "op": "PUSH2", - "path": "0", - "value": "0xD94" - }, - "1963": { - "jump": "i", - "offset": [ - 2505, - 2521 - ], - "op": "JUMP", - "path": "0" - }, - "1964": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 2505, - 2521 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1965": { - "fn": "AccessControl.grantRole", - "offset": [ - 4916, - 4941 - ], - "op": "PUSH2", - "path": "0", - "statement": 13, - "value": "0x7B6" - }, - "1968": { - "fn": "AccessControl.grantRole", - "offset": [ - 4927, - 4931 - ], - "op": "DUP4", - "path": "0" - }, - "1969": { - "fn": "AccessControl.grantRole", - "offset": [ - 4933, - 4940 - ], - "op": "DUP4", - "path": "0" - }, - "1970": { - "fn": "AccessControl.grantRole", - "offset": [ - 4916, - 4926 - ], - "op": "PUSH2", - "path": "0", - "value": "0x10C6" - }, - "1973": { - "fn": "AccessControl.grantRole", - "jump": "i", - "offset": [ - 4916, - 4941 - ], - "op": "JUMP", - "path": "0" - }, - "1974": { - "fn": "AccessControl.grantRole", - "offset": [ - 4916, - 4941 - ], - "op": "JUMPDEST", - "path": "0" - }, - "1975": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "POP", - "path": "0" - }, - "1976": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "POP", - "path": "0" - }, - "1977": { - "fn": "AccessControl.grantRole", - "offset": [ - 4803, - 4948 - ], - "op": "POP", - "path": "0" - }, - "1978": { - "fn": "AccessControl.grantRole", - "jump": "o", - "offset": [ - 4803, - 4948 - ], - "op": "JUMP", - "path": "0" - }, - "1979": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "JUMPDEST", - "path": "4" - }, - "1980": { - "fn": "TimelockController.isOperation", - "offset": [ - 5216, - 5231 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "1982": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "1983": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "1984": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "1985": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6260 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "1987": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "1989": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "1990": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "1992": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "1993": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "KECCAK256", - "path": "4" - }, - "1994": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SLOAD", - "path": "4" - }, - "1995": { - "fn": "TimelockController.isOperation", - "offset": [ - 5216, - 5231 - ], - "op": "DUP2", - "path": "4" - }, - "1996": { - "fn": "TimelockController.isOperation", - "offset": [ - 5216, - 5231 - ], - "op": "SWAP1", - "path": "4" - }, - "1997": { - "fn": "TimelockController.isOperation", - "offset": [ - 5250, - 5266 - ], - "op": "JUMPDEST", - "path": "4", - "statement": 14 - }, - "1998": { - "fn": "TimelockController.isOperation", - "offset": [ - 5250, - 5270 - ], - "op": "GT", - "path": "4" - }, - "1999": { - "fn": "TimelockController.isOperation", - "offset": [ - 5250, - 5270 - ], - "op": "SWAP3", - "path": "4" - }, - "2000": { - "fn": "TimelockController.isOperation", - "offset": [ - 5154, - 5277 - ], - "op": "SWAP2", - "path": "4" - }, - "2001": { - "op": "POP" - }, - "2002": { - "op": "POP" - }, - "2003": { - "fn": "TimelockController.isOperation", - "jump": "o", - "offset": [ - 5154, - 5277 - ], - "op": "JUMP", - "path": "4" - }, - "2004": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "JUMPDEST", - "path": "0" - }, - "2005": { - "op": "PUSH1", - "value": "0x1" - }, - "2007": { - "op": "PUSH1", - "value": "0x1" - }, - "2009": { - "op": "PUSH1", - "value": "0xA0" - }, - "2011": { - "op": "SHL" - }, - "2012": { - "op": "SUB" - }, - "2013": { - "fn": "AccessControl.renounceRole", - "offset": [ - 6007, - 6030 - ], - "op": "DUP2", - "path": "0", - "statement": 15 - }, - "2014": { - "fn": "AccessControl.renounceRole", - "offset": [ - 6007, - 6030 - ], - "op": "AND", - "path": "0" - }, - "2015": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "2016": { - "branch": 70, - "fn": "AccessControl.renounceRole", - "offset": [ - 6007, - 6030 - ], - "op": "EQ", - "path": "0" - }, - "2017": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "PUSH2", - "path": "0", - "value": "0x849" - }, - "2020": { - "branch": 70, - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "JUMPI", - "path": "0" - }, - "2021": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "2023": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "MLOAD", - "path": "0" - }, - "2024": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "2028": { - "op": "PUSH1", - "value": "0xE5" - }, - "2030": { - "op": "SHL" - }, - "2031": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "DUP2", - "path": "0" - }, - "2032": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "MSTORE", - "path": "0" - }, - "2033": { - "op": "PUSH1", - "value": "0x20" - }, - "2035": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "2037": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "DUP3", - "path": "0" - }, - "2038": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "ADD", - "path": "0" - }, - "2039": { - "op": "MSTORE" - }, - "2040": { - "op": "PUSH1", - "value": "0x2F" - }, - "2042": { - "op": "PUSH1", - "value": "0x24" - }, - "2044": { - "op": "DUP3" - }, - "2045": { - "op": "ADD" - }, - "2046": { - "op": "MSTORE" - }, - "2047": { - "op": "PUSH32", - "value": "0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365" - }, - "2080": { - "op": "PUSH1", - "value": "0x44" - }, - "2082": { - "op": "DUP3" - }, - "2083": { - "op": "ADD" - }, - "2084": { - "op": "MSTORE" - }, - "2085": { - "op": "PUSH15", - "value": "0x103937B632B9903337B91039B2B633" - }, - "2101": { - "op": "PUSH1", - "value": "0x89" - }, - "2103": { - "op": "SHL" - }, - "2104": { - "op": "PUSH1", - "value": "0x64" - }, - "2106": { - "op": "DUP3" - }, - "2107": { - "op": "ADD" - }, - "2108": { - "op": "MSTORE" - }, - "2109": { - "op": "PUSH1", - "value": "0x84" - }, - "2111": { - "op": "ADD" - }, - "2112": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "JUMPDEST", - "path": "0" - }, - "2113": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "2115": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "MLOAD", - "path": "0" - }, - "2116": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "DUP1", - "path": "0" - }, - "2117": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "SWAP2", - "path": "0" - }, - "2118": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "SUB", - "path": "0" - }, - "2119": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "SWAP1", - "path": "0" - }, - "2120": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "REVERT", - "optimizer_revert": true, - "path": "0" - }, - "2121": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5999, - 6082 - ], - "op": "JUMPDEST", - "path": "0" - }, - "2122": { - "fn": "AccessControl.renounceRole", - "offset": [ - 6093, - 6119 - ], - "op": "PUSH2", - "path": "0", - "statement": 16, - "value": "0x853" - }, - "2125": { - "fn": "AccessControl.renounceRole", - "offset": [ - 6105, - 6109 - ], - "op": "DUP3", - "path": "0" - }, - "2126": { - "fn": "AccessControl.renounceRole", - "offset": [ - 6111, - 6118 - ], - "op": "DUP3", - "path": "0" - }, - "2127": { - "fn": "AccessControl.renounceRole", - "offset": [ - 6093, - 6104 - ], - "op": "PUSH2", - "path": "0", - "value": "0x114A" - }, - "2130": { - "fn": "AccessControl.renounceRole", - "jump": "i", - "offset": [ - 6093, - 6119 - ], - "op": "JUMP", - "path": "0" - }, - "2131": { - "fn": "AccessControl.renounceRole", - "offset": [ - 6093, - 6119 - ], - "op": "JUMPDEST", - "path": "0" - }, - "2132": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "POP", - "path": "0" - }, - "2133": { - "fn": "AccessControl.renounceRole", - "offset": [ - 5912, - 6126 - ], - "op": "POP", - "path": "0" - }, - "2134": { - "fn": "AccessControl.renounceRole", - "jump": "o", - "offset": [ - 5912, - 6126 - ], - "op": "JUMP", - "path": "0" - }, - "2135": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5359, - 5500 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2136": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5428, - 5440 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "2138": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "2139": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "2140": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "2141": { - "offset": [ - 1470, - 1471 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "2143": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2145": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "2146": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "2147": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "2148": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2150": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP3", - "path": "4" - }, - "2151": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "KECCAK256", - "path": "4" - }, - "2152": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SLOAD", - "path": "4" - }, - "2153": { - "fn": "TimelockController.isOperationPending", - "offset": [ - 5459, - 5475 - ], - "op": "PUSH2", - "path": "4", - "statement": 17, - "value": "0x7CD" - }, - "2156": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6150, - 6271 - ], - "op": "JUMP", - "path": "4" - }, - "2157": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13156, - 13392 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2158": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13230, - 13240 - ], - "op": "CALLER", - "path": "4", - "statement": 18 - }, - "2159": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13252, - 13256 - ], - "op": "ADDRESS", - "path": "4" - }, - "2160": { - "branch": 56, - "fn": "TimelockController.updateDelay", - "offset": [ - 13230, - 13257 - ], - "op": "EQ", - "path": "4" - }, - "2161": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "PUSH2", - "path": "4", - "value": "0x8D0" - }, - "2164": { - "branch": 56, - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "JUMPI", - "path": "4" - }, - "2165": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2167": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "MLOAD", - "path": "4" - }, - "2168": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "2172": { - "op": "PUSH1", - "value": "0xE5" - }, - "2174": { - "op": "SHL" - }, - "2175": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "DUP2", - "path": "4" - }, - "2176": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "MSTORE", - "path": "4" - }, - "2177": { - "op": "PUSH1", - "value": "0x20" - }, - "2179": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "2181": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "DUP3", - "path": "4" - }, - "2182": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "ADD", - "path": "4" - }, - "2183": { - "op": "MSTORE" - }, - "2184": { - "op": "PUSH1", - "value": "0x2B" - }, - "2186": { - "op": "PUSH1", - "value": "0x24" - }, - "2188": { - "op": "DUP3" - }, - "2189": { - "op": "ADD" - }, - "2190": { - "op": "MSTORE" - }, - "2191": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A2063616C6C6572206D75737420" - }, - "2224": { - "op": "PUSH1", - "value": "0x44" - }, - "2226": { - "op": "DUP3" - }, - "2227": { - "op": "ADD" - }, - "2228": { - "op": "MSTORE" - }, - "2229": { - "op": "PUSH11", - "value": "0x62652074696D656C6F636B" - }, - "2241": { - "op": "PUSH1", - "value": "0xA8" - }, - "2243": { - "op": "SHL" - }, - "2244": { - "op": "PUSH1", - "value": "0x64" - }, - "2246": { - "op": "DUP3" - }, - "2247": { - "op": "ADD" - }, - "2248": { - "op": "MSTORE" - }, - "2249": { - "op": "PUSH1", - "value": "0x84" - }, - "2251": { - "op": "ADD" - }, - "2252": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "2255": { - "op": "JUMP" - }, - "2256": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13222, - 13305 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2257": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13335, - 13344 - ], - "op": "PUSH1", - "path": "4", - "statement": 19, - "value": "0x2" - }, - "2259": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13335, - 13344 - ], - "op": "SLOAD", - "path": "4" - }, - "2260": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2262": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "DUP1", - "path": "4" - }, - "2263": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "MLOAD", - "path": "4" - }, - "2264": { - "op": "SWAP2" - }, - "2265": { - "op": "DUP3" - }, - "2266": { - "op": "MSTORE" - }, - "2267": { - "op": "PUSH1", - "value": "0x20" - }, - "2269": { - "op": "DUP3" - }, - "2270": { - "op": "ADD" - }, - "2271": { - "op": "DUP4" - }, - "2272": { - "op": "SWAP1" - }, - "2273": { - "op": "MSTORE" - }, - "2274": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "PUSH32", - "path": "4", - "value": "0x11C24F4EAD16507C69AC467FBD5E4EED5FB5C699626D2CC6D66421DF253886D5" - }, - "2307": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "SWAP2", - "path": "4" - }, - "2308": { - "op": "ADD" - }, - "2309": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2311": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "MLOAD", - "path": "4" - }, - "2312": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "DUP1", - "path": "4" - }, - "2313": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "SWAP2", - "path": "4" - }, - "2314": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "SUB", - "path": "4" - }, - "2315": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "SWAP1", - "path": "4" - }, - "2316": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13320, - 13355 - ], - "op": "LOG1", - "path": "4" - }, - "2317": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13365, - 13374 - ], - "op": "PUSH1", - "path": "4", - "statement": 20, - "value": "0x2" - }, - "2319": { - "fn": "TimelockController.updateDelay", - "offset": [ - 13365, - 13385 - ], - "op": "SSTORE", - "path": "4" - }, - "2320": { - "fn": "TimelockController.updateDelay", - "jump": "o", - "offset": [ - 13156, - 13392 - ], - "op": "JUMP", - "path": "4" - }, - "2321": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2322": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6858, - 6870 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "2324": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6910, - 6916 - ], - "op": "DUP7", - "path": "4", - "statement": 21 - }, - "2325": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6918, - 6923 - ], - "op": "DUP7", - "path": "4" - }, - "2326": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6925, - 6929 - ], - "op": "DUP7", - "path": "4" - }, - "2327": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6925, - 6929 - ], - "op": "DUP7", - "path": "4" - }, - "2328": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6931, - 6942 - ], - "op": "DUP7", - "path": "4" - }, - "2329": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6944, - 6948 - ], - "op": "DUP7", - "path": "4" - }, - "2330": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2332": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "MLOAD", - "path": "4" - }, - "2333": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2335": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "ADD", - "path": "4" - }, - "2336": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "PUSH2", - "path": "4", - "value": "0x92E" - }, - "2339": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP7", - "path": "4" - }, - "2340": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP6", - "path": "4" - }, - "2341": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP5", - "path": "4" - }, - "2342": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP4", - "path": "4" - }, - "2343": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP3", - "path": "4" - }, - "2344": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP2", - "path": "4" - }, - "2345": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP1", - "path": "4" - }, - "2346": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "PUSH2", - "path": "4", - "value": "0x197C" - }, - "2349": { - "fn": "TimelockController.hashOperation", - "jump": "i", - "offset": [ - 6899, - 6949 - ], - "op": "JUMP", - "path": "4" - }, - "2350": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2351": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2353": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "MLOAD", - "path": "4" - }, - "2354": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2356": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "DUP2", - "path": "4" - }, - "2357": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "DUP4", - "path": "4" - }, - "2358": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SUB", - "path": "4" - }, - "2359": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SUB", - "path": "4" - }, - "2360": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "DUP2", - "path": "4" - }, - "2361": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "MSTORE", - "path": "4" - }, - "2362": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "SWAP1", - "path": "4" - }, - "2363": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2365": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6899, - 6949 - ], - "op": "MSTORE", - "path": "4" - }, - "2366": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6889, - 6950 - ], - "op": "DUP1", - "path": "4" - }, - "2367": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6889, - 6950 - ], - "op": "MLOAD", - "path": "4" - }, - "2368": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6889, - 6950 - ], - "op": "SWAP1", - "path": "4" - }, - "2369": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6889, - 6950 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2371": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6889, - 6950 - ], - "op": "ADD", - "path": "4" - }, - "2372": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6889, - 6950 - ], - "op": "KECCAK256", - "path": "4" - }, - "2373": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6882, - 6950 - ], - "op": "SWAP1", - "path": "4" - }, - "2374": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6882, - 6950 - ], - "op": "POP", - "path": "4" - }, - "2375": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "SWAP7", - "path": "4" - }, - "2376": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "SWAP6", - "path": "4" - }, - "2377": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "POP", - "path": "4" - }, - "2378": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "POP", - "path": "4" - }, - "2379": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "POP", - "path": "4" - }, - "2380": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "POP", - "path": "4" - }, - "2381": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "POP", - "path": "4" - }, - "2382": { - "fn": "TimelockController.hashOperation", - "offset": [ - 6673, - 6957 - ], - "op": "POP", - "path": "4" - }, - "2383": { - "fn": "TimelockController.hashOperation", - "jump": "o", - "offset": [ - 6673, - 6957 - ], - "op": "JUMP", - "path": "4" - }, - "2384": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2385": { - "offset": [ - 1240, - 1266 - ], - "op": "PUSH32", - "path": "4", - "value": "0xB09AA5AEB3702CFD50B6B62BC4532604938F21248A27A1D5CA736082B6819CC1" - }, - "2418": { - "offset": [ - 2505, - 2521 - ], - "op": "PUSH2", - "path": "0", - "value": "0x97A" - }, - "2421": { - "offset": [ - 2516, - 2520 - ], - "op": "DUP2", - "path": "0" - }, - "2422": { - "offset": [ - 2505, - 2515 - ], - "op": "PUSH2", - "path": "0", - "value": "0xD94" - }, - "2425": { - "jump": "i", - "offset": [ - 2505, - 2521 - ], - "op": "JUMP", - "path": "0" - }, - "2426": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 2505, - 2521 - ], - "op": "JUMPDEST", - "path": "0" - }, - "2427": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8540, - 8571 - ], - "op": "DUP9", - "path": "4", - "statement": 22 - }, - "2428": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8540, - 8571 - ], - "op": "DUP8", - "path": "4" - }, - "2429": { - "branch": 57, - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8540, - 8571 - ], - "op": "EQ", - "path": "4" - }, - "2430": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "PUSH2", - "path": "4", - "value": "0x999" - }, - "2433": { - "branch": 57, - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "JUMPI", - "path": "4" - }, - "2434": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2436": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "MLOAD", - "path": "4" - }, - "2437": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "2441": { - "op": "PUSH1", - "value": "0xE5" - }, - "2443": { - "op": "SHL" - }, - "2444": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "DUP2", - "path": "4" - }, - "2445": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "MSTORE", - "path": "4" - }, - "2446": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "2448": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "ADD", - "path": "4" - }, - "2449": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "2452": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "SWAP1", - "path": "4" - }, - "2453": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "PUSH2", - "path": "4", - "value": "0x19EB" - }, - "2456": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8532, - 8611 - ], - "op": "JUMP", - "path": "4" - }, - "2457": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8532, - 8611 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2458": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8629, - 8662 - ], - "op": "DUP9", - "path": "4", - "statement": 23 - }, - "2459": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8629, - 8662 - ], - "op": "DUP6", - "path": "4" - }, - "2460": { - "branch": 58, - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8629, - 8662 - ], - "op": "EQ", - "path": "4" - }, - "2461": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "PUSH2", - "path": "4", - "value": "0x9B8" - }, - "2464": { - "branch": 58, - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "JUMPI", - "path": "4" - }, - "2465": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2467": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "MLOAD", - "path": "4" - }, - "2468": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "2472": { - "op": "PUSH1", - "value": "0xE5" - }, - "2474": { - "op": "SHL" - }, - "2475": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "DUP2", - "path": "4" - }, - "2476": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "MSTORE", - "path": "4" - }, - "2477": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "2479": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "ADD", - "path": "4" - }, - "2480": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "2483": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "SWAP1", - "path": "4" - }, - "2484": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "PUSH2", - "path": "4", - "value": "0x19EB" - }, - "2487": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8621, - 8702 - ], - "op": "JUMP", - "path": "4" - }, - "2488": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8621, - 8702 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2489": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8713, - 8723 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "2491": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8726, - 8790 - ], - "op": "PUSH2", - "path": "4", - "value": "0x9CA" - }, - "2494": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8745, - 8752 - ], - "op": "DUP12", - "path": "4" - }, - "2495": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8745, - 8752 - ], - "op": "DUP12", - "path": "4" - }, - "2496": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8754, - 8760 - ], - "op": "DUP12", - "path": "4" - }, - "2497": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8754, - 8760 - ], - "op": "DUP12", - "path": "4" - }, - "2498": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8762, - 8770 - ], - "op": "DUP12", - "path": "4" - }, - "2499": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8762, - 8770 - ], - "op": "DUP12", - "path": "4" - }, - "2500": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8772, - 8783 - ], - "op": "DUP12", - "path": "4" - }, - "2501": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8785, - 8789 - ], - "op": "DUP12", - "path": "4" - }, - "2502": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8726, - 8744 - ], - "op": "PUSH2", - "path": "4", - "value": "0xACB" - }, - "2505": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8726, - 8790 - ], - "op": "JUMP", - "path": "4" - }, - "2506": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8726, - 8790 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2507": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8713, - 8790 - ], - "op": "SWAP1", - "path": "4" - }, - "2508": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8713, - 8790 - ], - "op": "POP", - "path": "4" - }, - "2509": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8800, - 8820 - ], - "op": "PUSH2", - "path": "4", - "statement": 24, - "value": "0x9D6" - }, - "2512": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8810, - 8812 - ], - "op": "DUP2", - "path": "4" - }, - "2513": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8814, - 8819 - ], - "op": "DUP5", - "path": "4" - }, - "2514": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8800, - 8809 - ], - "op": "PUSH2", - "path": "4", - "value": "0xDA1" - }, - "2517": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8800, - 8820 - ], - "op": "JUMP", - "path": "4" - }, - "2518": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8800, - 8820 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2519": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8835, - 8844 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "2521": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2522": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8850, - 8868 - ], - "op": "DUP11", - "path": "4" - }, - "2523": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8850, - 8868 - ], - "op": "DUP2", - "path": "4" - }, - "2524": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8850, - 8868 - ], - "op": "LT", - "path": "4" - }, - "2525": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "ISZERO", - "path": "4" - }, - "2526": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA94" - }, - "2529": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "JUMPI", - "path": "4" - }, - "2530": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8912, - 8913 - ], - "op": "DUP1", - "path": "4", - "statement": 25 - }, - "2531": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8908, - 8910 - ], - "op": "DUP3", - "path": "4" - }, - "2532": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "PUSH32", - "path": "4", - "value": "0x4CF4410CC57040E44862EF0F45F3DD5A5E02DB8EB8ADD648D4B0E236F1D07DCA" - }, - "2565": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8922 - ], - "op": "DUP15", - "path": "4" - }, - "2566": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8922 - ], - "op": "DUP15", - "path": "4" - }, - "2567": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8923, - 8924 - ], - "op": "DUP6", - "path": "4" - }, - "2568": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "DUP2", - "path": "4" - }, - "2569": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "DUP2", - "path": "4" - }, - "2570": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "LT", - "path": "4" - }, - "2571": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA16" - }, - "2574": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "JUMPI", - "path": "4" - }, - "2575": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA16" - }, - "2578": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A2E" - }, - "2581": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8915, - 8925 - ], - "op": "JUMP", - "path": "4" - }, - "2582": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2583": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "SWAP1", - "path": "4" - }, - "2584": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "POP", - "path": "4" - }, - "2585": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2587": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "MUL", - "path": "4" - }, - "2588": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "ADD", - "path": "4" - }, - "2589": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2591": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "DUP2", - "path": "4" - }, - "2592": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "ADD", - "path": "4" - }, - "2593": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "SWAP1", - "path": "4" - }, - "2594": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA2B" - }, - "2597": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "SWAP2", - "path": "4" - }, - "2598": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "SWAP1", - "path": "4" - }, - "2599": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A44" - }, - "2602": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8915, - 8925 - ], - "op": "JUMP", - "path": "4" - }, - "2603": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8915, - 8925 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2604": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8933 - ], - "op": "DUP14", - "path": "4" - }, - "2605": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8933 - ], - "op": "DUP14", - "path": "4" - }, - "2606": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8934, - 8935 - ], - "op": "DUP7", - "path": "4" - }, - "2607": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "DUP2", - "path": "4" - }, - "2608": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "DUP2", - "path": "4" - }, - "2609": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "LT", - "path": "4" - }, - "2610": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA3D" - }, - "2613": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "JUMPI", - "path": "4" - }, - "2614": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA3D" - }, - "2617": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A2E" - }, - "2620": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8927, - 8936 - ], - "op": "JUMP", - "path": "4" - }, - "2621": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2622": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "SWAP1", - "path": "4" - }, - "2623": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "POP", - "path": "4" - }, - "2624": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2626": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "MUL", - "path": "4" - }, - "2627": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "ADD", - "path": "4" - }, - "2628": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8927, - 8936 - ], - "op": "CALLDATALOAD", - "path": "4" - }, - "2629": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8946 - ], - "op": "DUP13", - "path": "4" - }, - "2630": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8946 - ], - "op": "DUP13", - "path": "4" - }, - "2631": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8947, - 8948 - ], - "op": "DUP8", - "path": "4" - }, - "2632": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "DUP2", - "path": "4" - }, - "2633": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "DUP2", - "path": "4" - }, - "2634": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "LT", - "path": "4" - }, - "2635": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA56" - }, - "2638": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "JUMPI", - "path": "4" - }, - "2639": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA56" - }, - "2642": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A2E" - }, - "2645": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8938, - 8949 - ], - "op": "JUMP", - "path": "4" - }, - "2646": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2647": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "SWAP1", - "path": "4" - }, - "2648": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "POP", - "path": "4" - }, - "2649": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2651": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "MUL", - "path": "4" - }, - "2652": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "DUP2", - "path": "4" - }, - "2653": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "ADD", - "path": "4" - }, - "2654": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "SWAP1", - "path": "4" - }, - "2655": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA68" - }, - "2658": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "SWAP2", - "path": "4" - }, - "2659": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "SWAP1", - "path": "4" - }, - "2660": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A5F" - }, - "2663": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8938, - 8949 - ], - "op": "JUMP", - "path": "4" - }, - "2664": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8938, - 8949 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2665": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8951, - 8962 - ], - "op": "DUP13", - "path": "4" - }, - "2666": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8964, - 8969 - ], - "op": "DUP12", - "path": "4" - }, - "2667": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2669": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "MLOAD", - "path": "4" - }, - "2670": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "PUSH2", - "path": "4", - "value": "0xA7C" - }, - "2673": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP7", - "path": "4" - }, - "2674": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP6", - "path": "4" - }, - "2675": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP5", - "path": "4" - }, - "2676": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP4", - "path": "4" - }, - "2677": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP3", - "path": "4" - }, - "2678": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP2", - "path": "4" - }, - "2679": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP1", - "path": "4" - }, - "2680": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "PUSH2", - "path": "4", - "value": "0x197C" - }, - "2683": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8894, - 8970 - ], - "op": "JUMP", - "path": "4" - }, - "2684": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2685": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2687": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "MLOAD", - "path": "4" - }, - "2688": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "DUP1", - "path": "4" - }, - "2689": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP2", - "path": "4" - }, - "2690": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SUB", - "path": "4" - }, - "2691": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "SWAP1", - "path": "4" - }, - "2692": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8894, - 8970 - ], - "op": "LOG3", - "path": "4" - }, - "2693": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8870, - 8873 - ], - "op": "PUSH2", - "path": "4", - "statement": 26, - "value": "0xA8D" - }, - "2696": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8870, - 8873 - ], - "op": "DUP2", - "path": "4" - }, - "2697": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8870, - 8873 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1ABB" - }, - "2700": { - "fn": "TimelockController.scheduleBatch", - "jump": "i", - "offset": [ - 8870, - 8873 - ], - "op": "JUMP", - "path": "4" - }, - "2701": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8870, - 8873 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2702": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8870, - 8873 - ], - "op": "SWAP1", - "path": "4" - }, - "2703": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8870, - 8873 - ], - "op": "POP", - "path": "4" - }, - "2704": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "PUSH2", - "path": "4", - "value": "0x9D9" - }, - "2707": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "JUMP", - "path": "4" - }, - "2708": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2709": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8830, - 8981 - ], - "op": "POP", - "path": "4" - }, - "2710": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8522, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2711": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2712": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2713": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2714": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2715": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2716": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2717": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2718": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2719": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2720": { - "fn": "TimelockController.scheduleBatch", - "offset": [ - 8274, - 8987 - ], - "op": "POP", - "path": "4" - }, - "2721": { - "fn": "TimelockController.scheduleBatch", - "jump": "o", - "offset": [ - 8274, - 8987 - ], - "op": "JUMP", - "path": "4" - }, - "2722": { - "fn": "AccessControl.hasRole", - "offset": [ - 2895, - 3040 - ], - "op": "JUMPDEST", - "path": "0" - }, - "2723": { - "fn": "AccessControl.hasRole", - "offset": [ - 2981, - 2985 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "2725": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "SWAP2", - "path": "0", - "statement": 27 - }, - "2726": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "DUP3", - "path": "0" - }, - "2727": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "MSTORE", - "path": "0" - }, - "2728": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "2730": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "DUP3", - "path": "0" - }, - "2731": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "DUP2", - "path": "0" - }, - "2732": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "MSTORE", - "path": "0" - }, - "2733": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "2735": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "DUP1", - "path": "0" - }, - "2736": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "DUP5", - "path": "0" - }, - "2737": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3016 - ], - "op": "KECCAK256", - "path": "0" - }, - "2738": { - "op": "PUSH1", - "value": "0x1" - }, - "2740": { - "op": "PUSH1", - "value": "0x1" - }, - "2742": { - "op": "PUSH1", - "value": "0xA0" - }, - "2744": { - "op": "SHL" - }, - "2745": { - "op": "SUB" - }, - "2746": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SWAP4", - "path": "0" - }, - "2747": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SWAP1", - "path": "0" - }, - "2748": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SWAP4", - "path": "0" - }, - "2749": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "AND", - "path": "0" - }, - "2750": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "DUP5", - "path": "0" - }, - "2751": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "MSTORE", - "path": "0" - }, - "2752": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SWAP2", - "path": "0" - }, - "2753": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SWAP1", - "path": "0" - }, - "2754": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "MSTORE", - "path": "0" - }, - "2755": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SWAP1", - "path": "0" - }, - "2756": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "KECCAK256", - "path": "0" - }, - "2757": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SLOAD", - "path": "0" - }, - "2758": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "PUSH1", - "path": "0", - "value": "0xFF" - }, - "2760": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "AND", - "path": "0" - }, - "2761": { - "fn": "AccessControl.hasRole", - "offset": [ - 3004, - 3033 - ], - "op": "SWAP1", - "path": "0" - }, - "2762": { - "fn": "AccessControl.hasRole", - "jump": "o", - "offset": [ - 2895, - 3040 - ], - "op": "JUMP", - "path": "0" - }, - "2763": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2764": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7293, - 7305 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "2766": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7345, - 7352 - ], - "op": "DUP9", - "path": "4", - "statement": 28 - }, - "2767": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7345, - 7352 - ], - "op": "DUP9", - "path": "4" - }, - "2768": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7354, - 7360 - ], - "op": "DUP9", - "path": "4" - }, - "2769": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7354, - 7360 - ], - "op": "DUP9", - "path": "4" - }, - "2770": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7362, - 7370 - ], - "op": "DUP9", - "path": "4" - }, - "2771": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7362, - 7370 - ], - "op": "DUP9", - "path": "4" - }, - "2772": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7372, - 7383 - ], - "op": "DUP9", - "path": "4" - }, - "2773": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7385, - 7389 - ], - "op": "DUP9", - "path": "4" - }, - "2774": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2776": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "MLOAD", - "path": "4" - }, - "2777": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2779": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "ADD", - "path": "4" - }, - "2780": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "PUSH2", - "path": "4", - "value": "0xAEC" - }, - "2783": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP9", - "path": "4" - }, - "2784": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP8", - "path": "4" - }, - "2785": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP7", - "path": "4" - }, - "2786": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP6", - "path": "4" - }, - "2787": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP5", - "path": "4" - }, - "2788": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP4", - "path": "4" - }, - "2789": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP3", - "path": "4" - }, - "2790": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP2", - "path": "4" - }, - "2791": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP1", - "path": "4" - }, - "2792": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1B65" - }, - "2795": { - "fn": "TimelockController.hashOperationBatch", - "jump": "i", - "offset": [ - 7334, - 7390 - ], - "op": "JUMP", - "path": "4" - }, - "2796": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2797": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2799": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "MLOAD", - "path": "4" - }, - "2800": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2802": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "DUP2", - "path": "4" - }, - "2803": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "DUP4", - "path": "4" - }, - "2804": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SUB", - "path": "4" - }, - "2805": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SUB", - "path": "4" - }, - "2806": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "DUP2", - "path": "4" - }, - "2807": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "MSTORE", - "path": "4" - }, - "2808": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "SWAP1", - "path": "4" - }, - "2809": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2811": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7334, - 7390 - ], - "op": "MSTORE", - "path": "4" - }, - "2812": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7324, - 7391 - ], - "op": "DUP1", - "path": "4" - }, - "2813": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7324, - 7391 - ], - "op": "MLOAD", - "path": "4" - }, - "2814": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7324, - 7391 - ], - "op": "SWAP1", - "path": "4" - }, - "2815": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7324, - 7391 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2817": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7324, - 7391 - ], - "op": "ADD", - "path": "4" - }, - "2818": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7324, - 7391 - ], - "op": "KECCAK256", - "path": "4" - }, - "2819": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7317, - 7391 - ], - "op": "SWAP1", - "path": "4" - }, - "2820": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7317, - 7391 - ], - "op": "POP", - "path": "4" - }, - "2821": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "SWAP9", - "path": "4" - }, - "2822": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "SWAP8", - "path": "4" - }, - "2823": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2824": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2825": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2826": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2827": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2828": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2829": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2830": { - "fn": "TimelockController.hashOperationBatch", - "offset": [ - 7073, - 7398 - ], - "op": "POP", - "path": "4" - }, - "2831": { - "fn": "TimelockController.hashOperationBatch", - "jump": "o", - "offset": [ - 7073, - 7398 - ], - "op": "JUMP", - "path": "4" - }, - "2832": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2833": { - "offset": [ - 1385, - 1412 - ], - "op": "PUSH32", - "path": "4", - "value": "0xFD643C72710C63C0180259ABA6B2D05451E3591A24E58B62239378085726F783" - }, - "2866": { - "offset": [ - 2505, - 2521 - ], - "op": "PUSH2", - "path": "0", - "value": "0xB3A" - }, - "2869": { - "offset": [ - 2516, - 2520 - ], - "op": "DUP2", - "path": "0" - }, - "2870": { - "offset": [ - 2505, - 2515 - ], - "op": "PUSH2", - "path": "0", - "value": "0xD94" - }, - "2873": { - "jump": "i", - "offset": [ - 2505, - 2521 - ], - "op": "JUMP", - "path": "0" - }, - "2874": { - "fn": "TimelockController.cancel", - "offset": [ - 2505, - 2521 - ], - "op": "JUMPDEST", - "path": "0" - }, - "2875": { - "fn": "TimelockController.cancel", - "offset": [ - 9598, - 9620 - ], - "op": "PUSH2", - "path": "4", - "statement": 29, - "value": "0xB43" - }, - "2878": { - "fn": "TimelockController.cancel", - "offset": [ - 9617, - 9619 - ], - "op": "DUP3", - "path": "4" - }, - "2879": { - "fn": "TimelockController.cancel", - "offset": [ - 9598, - 9616 - ], - "op": "PUSH2", - "path": "4", - "value": "0x857" - }, - "2882": { - "fn": "TimelockController.cancel", - "jump": "i", - "offset": [ - 9598, - 9620 - ], - "op": "JUMP", - "path": "4" - }, - "2883": { - "branch": 59, - "fn": "TimelockController.cancel", - "offset": [ - 9598, - 9620 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2884": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "PUSH2", - "path": "4", - "value": "0xBA9" - }, - "2887": { - "branch": 59, - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "JUMPI", - "path": "4" - }, - "2888": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2890": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "MLOAD", - "path": "4" - }, - "2891": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "2895": { - "op": "PUSH1", - "value": "0xE5" - }, - "2897": { - "op": "SHL" - }, - "2898": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "DUP2", - "path": "4" - }, - "2899": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "MSTORE", - "path": "4" - }, - "2900": { - "op": "PUSH1", - "value": "0x20" - }, - "2902": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "2904": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "DUP3", - "path": "4" - }, - "2905": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "ADD", - "path": "4" - }, - "2906": { - "op": "MSTORE" - }, - "2907": { - "op": "PUSH1", - "value": "0x31" - }, - "2909": { - "op": "PUSH1", - "value": "0x24" - }, - "2911": { - "op": "DUP3" - }, - "2912": { - "op": "ADD" - }, - "2913": { - "op": "MSTORE" - }, - "2914": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206361" - }, - "2947": { - "op": "PUSH1", - "value": "0x44" - }, - "2949": { - "op": "DUP3" - }, - "2950": { - "op": "ADD" - }, - "2951": { - "op": "MSTORE" - }, - "2952": { - "op": "PUSH17", - "value": "0x1B9B9BDD0818994818D85B98D95B1B1959" - }, - "2970": { - "op": "PUSH1", - "value": "0x7A" - }, - "2972": { - "op": "SHL" - }, - "2973": { - "op": "PUSH1", - "value": "0x64" - }, - "2975": { - "op": "DUP3" - }, - "2976": { - "op": "ADD" - }, - "2977": { - "op": "MSTORE" - }, - "2978": { - "op": "PUSH1", - "value": "0x84" - }, - "2980": { - "op": "ADD" - }, - "2981": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "2984": { - "op": "JUMP" - }, - "2985": { - "fn": "TimelockController.cancel", - "offset": [ - 9590, - 9674 - ], - "op": "JUMPDEST", - "path": "4" - }, - "2986": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "PUSH1", - "path": "4", - "statement": 30, - "value": "0x0" - }, - "2988": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "DUP3", - "path": "4" - }, - "2989": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "DUP2", - "path": "4" - }, - "2990": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "MSTORE", - "path": "4" - }, - "2991": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9702 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "2993": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "2995": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "MSTORE", - "path": "4" - }, - "2996": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "2998": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "DUP1", - "path": "4" - }, - "2999": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "DUP3", - "path": "4" - }, - "3000": { - "fn": "TimelockController.cancel", - "offset": [ - 9691, - 9706 - ], - "op": "KECCAK256", - "path": "4" - }, - "3001": { - "fn": "TimelockController.cancel", - "offset": [ - 9684, - 9706 - ], - "op": "DUP3", - "path": "4" - }, - "3002": { - "fn": "TimelockController.cancel", - "offset": [ - 9684, - 9706 - ], - "op": "SWAP1", - "path": "4" - }, - "3003": { - "fn": "TimelockController.cancel", - "offset": [ - 9684, - 9706 - ], - "op": "SSTORE", - "path": "4" - }, - "3004": { - "fn": "TimelockController.cancel", - "offset": [ - 9722, - 9735 - ], - "op": "MLOAD", - "path": "4", - "statement": 31 - }, - "3005": { - "fn": "TimelockController.cancel", - "offset": [ - 9703, - 9705 - ], - "op": "DUP4", - "path": "4" - }, - "3006": { - "fn": "TimelockController.cancel", - "offset": [ - 9703, - 9705 - ], - "op": "SWAP2", - "path": "4" - }, - "3007": { - "fn": "TimelockController.cancel", - "offset": [ - 9722, - 9735 - ], - "op": "PUSH32", - "path": "4", - "value": "0xBAA1EB22F2A492BA1A5FEA61B8DF4D27C6C8B5F3971E63BB58FA14FF72EEDB70" - }, - "3040": { - "fn": "TimelockController.cancel", - "offset": [ - 9722, - 9735 - ], - "op": "SWAP2", - "path": "4" - }, - "3041": { - "fn": "TimelockController.cancel", - "offset": [ - 9722, - 9735 - ], - "op": "LOG2", - "path": "4" - }, - "3042": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "POP", - "path": "4" - }, - "3043": { - "fn": "TimelockController.cancel", - "offset": [ - 9512, - 9742 - ], - "op": "POP", - "path": "4" - }, - "3044": { - "fn": "TimelockController.cancel", - "jump": "o", - "offset": [ - 9512, - 9742 - ], - "op": "JUMP", - "path": "4" - }, - "3045": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5228, - 5375 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3046": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4452, - 4459 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "3048": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP3", - "path": "0" - }, - "3049": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP2", - "path": "0" - }, - "3050": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "MSTORE", - "path": "0" - }, - "3051": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "3053": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "DUP2", - "path": "0" - }, - "3054": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "SWAP1", - "path": "0" - }, - "3055": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "MSTORE", - "path": "0" - }, - "3056": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "3058": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "SWAP1", - "path": "0" - }, - "3059": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4490 - ], - "op": "KECCAK256", - "path": "0" - }, - "3060": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "PUSH1", - "path": "0", - "value": "0x1" - }, - "3062": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "ADD", - "path": "0" - }, - "3063": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 4478, - 4500 - ], - "op": "SLOAD", - "path": "0" - }, - "3064": { - "offset": [ - 2505, - 2521 - ], - "op": "PUSH2", - "path": "0", - "value": "0xC00" - }, - "3067": { - "offset": [ - 2516, - 2520 - ], - "op": "DUP2", - "path": "0" - }, - "3068": { - "offset": [ - 2505, - 2515 - ], - "op": "PUSH2", - "path": "0", - "value": "0xD94" - }, - "3071": { - "jump": "i", - "offset": [ - 2505, - 2521 - ], - "op": "JUMP", - "path": "0" - }, - "3072": { - "fn": "AccessControl.getRoleAdmin", - "offset": [ - 2505, - 2521 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3073": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5342, - 5368 - ], - "op": "PUSH2", - "path": "0", - "statement": 32, - "value": "0x7B6" - }, - "3076": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5354, - 5358 - ], - "op": "DUP4", - "path": "0" - }, - "3077": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5360, - 5367 - ], - "op": "DUP4", - "path": "0" - }, - "3078": { - "fn": "AccessControl.revokeRole", - "offset": [ - 5342, - 5353 - ], - "op": "PUSH2", - "path": "0", - "value": "0x114A" - }, - "3081": { - "fn": "AccessControl.revokeRole", - "jump": "i", - "offset": [ - 5342, - 5368 - ], - "op": "JUMP", - "path": "0" - }, - "3082": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3083": { - "offset": [ - 1312, - 1338 - ], - "op": "PUSH32", - "path": "4", - "value": "0xD8AA0F3194971A2A116679F7C2090F6939C8D4E01A2A8D7E41D55E5351469E63" - }, - "3116": { - "offset": [ - 4473, - 4498 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC36" - }, - "3119": { - "offset": [ - 4481, - 4485 - ], - "op": "DUP2", - "path": "4" - }, - "3120": { - "offset": [ - 4495, - 4496 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3122": { - "offset": [ - 4473, - 4480 - ], - "op": "PUSH2", - "path": "4", - "value": "0xAA2" - }, - "3125": { - "jump": "i", - "offset": [ - 4473, - 4498 - ], - "op": "JUMP", - "path": "4" - }, - "3126": { - "branch": 60, - "fn": "TimelockController.executeBatch", - "offset": [ - 4473, - 4498 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3127": { - "offset": [ - 4468, - 4555 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC44" - }, - "3130": { - "branch": 60, - "offset": [ - 4468, - 4555 - ], - "op": "JUMPI", - "path": "4" - }, - "3131": { - "offset": [ - 4514, - 4544 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC44" - }, - "3134": { - "offset": [ - 4525, - 4529 - ], - "op": "DUP2", - "path": "4" - }, - "3135": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "3136": { - "offset": [ - 4514, - 4524 - ], - "op": "PUSH2", - "path": "4", - "value": "0xEC5" - }, - "3139": { - "jump": "i", - "offset": [ - 4514, - 4544 - ], - "op": "JUMP", - "path": "4" - }, - "3140": { - "fn": "Context._msgSender", - "offset": [ - 4514, - 4544 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3141": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11195, - 11226 - ], - "op": "DUP8", - "path": "4", - "statement": 33 - }, - "3142": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11195, - 11226 - ], - "op": "DUP7", - "path": "4" - }, - "3143": { - "branch": 61, - "fn": "TimelockController.executeBatch", - "offset": [ - 11195, - 11226 - ], - "op": "EQ", - "path": "4" - }, - "3144": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC63" - }, - "3147": { - "branch": 61, - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "JUMPI", - "path": "4" - }, - "3148": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3150": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "MLOAD", - "path": "4" - }, - "3151": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "3155": { - "op": "PUSH1", - "value": "0xE5" - }, - "3157": { - "op": "SHL" - }, - "3158": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "DUP2", - "path": "4" - }, - "3159": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "MSTORE", - "path": "4" - }, - "3160": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "3162": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "ADD", - "path": "4" - }, - "3163": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "3166": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "SWAP1", - "path": "4" - }, - "3167": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "PUSH2", - "path": "4", - "value": "0x19EB" - }, - "3170": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11187, - 11266 - ], - "op": "JUMP", - "path": "4" - }, - "3171": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11187, - 11266 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3172": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11284, - 11317 - ], - "op": "DUP8", - "path": "4", - "statement": 34 - }, - "3173": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11284, - 11317 - ], - "op": "DUP5", - "path": "4" - }, - "3174": { - "branch": 62, - "fn": "TimelockController.executeBatch", - "offset": [ - 11284, - 11317 - ], - "op": "EQ", - "path": "4" - }, - "3175": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC82" - }, - "3178": { - "branch": 62, - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "JUMPI", - "path": "4" - }, - "3179": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3181": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "MLOAD", - "path": "4" - }, - "3182": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "3186": { - "op": "PUSH1", - "value": "0xE5" - }, - "3188": { - "op": "SHL" - }, - "3189": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "DUP2", - "path": "4" - }, - "3190": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "MSTORE", - "path": "4" - }, - "3191": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "3193": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "ADD", - "path": "4" - }, - "3194": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "3197": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "SWAP1", - "path": "4" - }, - "3198": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "PUSH2", - "path": "4", - "value": "0x19EB" - }, - "3201": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11276, - 11357 - ], - "op": "JUMP", - "path": "4" - }, - "3202": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11276, - 11357 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3203": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11368, - 11378 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3205": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11381, - 11445 - ], - "op": "PUSH2", - "path": "4", - "value": "0xC94" - }, - "3208": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11400, - 11407 - ], - "op": "DUP11", - "path": "4" - }, - "3209": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11400, - 11407 - ], - "op": "DUP11", - "path": "4" - }, - "3210": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11409, - 11415 - ], - "op": "DUP11", - "path": "4" - }, - "3211": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11409, - 11415 - ], - "op": "DUP11", - "path": "4" - }, - "3212": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11417, - 11425 - ], - "op": "DUP11", - "path": "4" - }, - "3213": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11417, - 11425 - ], - "op": "DUP11", - "path": "4" - }, - "3214": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11427, - 11438 - ], - "op": "DUP11", - "path": "4" - }, - "3215": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11440, - 11444 - ], - "op": "DUP11", - "path": "4" - }, - "3216": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11381, - 11399 - ], - "op": "PUSH2", - "path": "4", - "value": "0xACB" - }, - "3219": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11381, - 11445 - ], - "op": "JUMP", - "path": "4" - }, - "3220": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11381, - 11445 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3221": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11368, - 11445 - ], - "op": "SWAP1", - "path": "4" - }, - "3222": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11368, - 11445 - ], - "op": "POP", - "path": "4" - }, - "3223": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11456, - 11484 - ], - "op": "PUSH2", - "path": "4", - "statement": 35, - "value": "0xCA0" - }, - "3226": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11468, - 11470 - ], - "op": "DUP2", - "path": "4" - }, - "3227": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11472, - 11483 - ], - "op": "DUP6", - "path": "4" - }, - "3228": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11456, - 11467 - ], - "op": "PUSH2", - "path": "4", - "value": "0xF1E" - }, - "3231": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11456, - 11484 - ], - "op": "JUMP", - "path": "4" - }, - "3232": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11456, - 11484 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3233": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11499, - 11508 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3235": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3236": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11514, - 11532 - ], - "op": "DUP10", - "path": "4" - }, - "3237": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11514, - 11532 - ], - "op": "DUP2", - "path": "4" - }, - "3238": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11514, - 11532 - ], - "op": "LT", - "path": "4" - }, - "3239": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "ISZERO", - "path": "4" - }, - "3240": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "PUSH2", - "path": "4", - "value": "0xD7E" - }, - "3243": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "JUMPI", - "path": "4" - }, - "3244": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11553, - 11567 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3246": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11577 - ], - "op": "DUP12", - "path": "4" - }, - "3247": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11577 - ], - "op": "DUP12", - "path": "4" - }, - "3248": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11578, - 11579 - ], - "op": "DUP4", - "path": "4" - }, - "3249": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "DUP2", - "path": "4" - }, - "3250": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "DUP2", - "path": "4" - }, - "3251": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "LT", - "path": "4" - }, - "3252": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "PUSH2", - "path": "4", - "value": "0xCBF" - }, - "3255": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "JUMPI", - "path": "4" - }, - "3256": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "PUSH2", - "path": "4", - "value": "0xCBF" - }, - "3259": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A2E" - }, - "3262": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11570, - 11580 - ], - "op": "JUMP", - "path": "4" - }, - "3263": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3264": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "SWAP1", - "path": "4" - }, - "3265": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "POP", - "path": "4" - }, - "3266": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "3268": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "MUL", - "path": "4" - }, - "3269": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "ADD", - "path": "4" - }, - "3270": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "3272": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "DUP2", - "path": "4" - }, - "3273": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "ADD", - "path": "4" - }, - "3274": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "SWAP1", - "path": "4" - }, - "3275": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "PUSH2", - "path": "4", - "value": "0xCD4" - }, - "3278": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "SWAP2", - "path": "4" - }, - "3279": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "SWAP1", - "path": "4" - }, - "3280": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A44" - }, - "3283": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11570, - 11580 - ], - "op": "JUMP", - "path": "4" - }, - "3284": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11570, - 11580 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3285": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11553, - 11580 - ], - "op": "SWAP1", - "path": "4" - }, - "3286": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11553, - 11580 - ], - "op": "POP", - "path": "4" - }, - "3287": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11594, - 11607 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3289": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11616 - ], - "op": "DUP11", - "path": "4" - }, - "3290": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11616 - ], - "op": "DUP11", - "path": "4" - }, - "3291": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11617, - 11618 - ], - "op": "DUP5", - "path": "4" - }, - "3292": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "DUP2", - "path": "4" - }, - "3293": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "DUP2", - "path": "4" - }, - "3294": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "LT", - "path": "4" - }, - "3295": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "PUSH2", - "path": "4", - "value": "0xCEA" - }, - "3298": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "JUMPI", - "path": "4" - }, - "3299": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "PUSH2", - "path": "4", - "value": "0xCEA" - }, - "3302": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A2E" - }, - "3305": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11610, - 11619 - ], - "op": "JUMP", - "path": "4" - }, - "3306": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3307": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "SWAP1", - "path": "4" - }, - "3308": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "POP", - "path": "4" - }, - "3309": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "3311": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "MUL", - "path": "4" - }, - "3312": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "ADD", - "path": "4" - }, - "3313": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11610, - 11619 - ], - "op": "CALLDATALOAD", - "path": "4" - }, - "3314": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11594, - 11619 - ], - "op": "SWAP1", - "path": "4" - }, - "3315": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11594, - 11619 - ], - "op": "POP", - "path": "4" - }, - "3316": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11633, - 11655 - ], - "op": "CALLDATASIZE", - "path": "4" - }, - "3317": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11633, - 11655 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3319": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11666 - ], - "op": "DUP11", - "path": "4" - }, - "3320": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11666 - ], - "op": "DUP11", - "path": "4" - }, - "3321": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11667, - 11668 - ], - "op": "DUP7", - "path": "4" - }, - "3322": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "DUP2", - "path": "4" - }, - "3323": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "DUP2", - "path": "4" - }, - "3324": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "LT", - "path": "4" - }, - "3325": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "PUSH2", - "path": "4", - "value": "0xD08" - }, - "3328": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "JUMPI", - "path": "4" - }, - "3329": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "PUSH2", - "path": "4", - "value": "0xD08" - }, - "3332": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A2E" - }, - "3335": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11658, - 11669 - ], - "op": "JUMP", - "path": "4" - }, - "3336": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3337": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "SWAP1", - "path": "4" - }, - "3338": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "POP", - "path": "4" - }, - "3339": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "3341": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "MUL", - "path": "4" - }, - "3342": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "DUP2", - "path": "4" - }, - "3343": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "ADD", - "path": "4" - }, - "3344": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "SWAP1", - "path": "4" - }, - "3345": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "PUSH2", - "path": "4", - "value": "0xD1A" - }, - "3348": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "SWAP2", - "path": "4" - }, - "3349": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "SWAP1", - "path": "4" - }, - "3350": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1A5F" - }, - "3353": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11658, - 11669 - ], - "op": "JUMP", - "path": "4" - }, - "3354": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11658, - 11669 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3355": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11633, - 11669 - ], - "op": "SWAP2", - "path": "4" - }, - "3356": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11633, - 11669 - ], - "op": "POP", - "path": "4" - }, - "3357": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11633, - 11669 - ], - "op": "SWAP2", - "path": "4" - }, - "3358": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11633, - 11669 - ], - "op": "POP", - "path": "4" - }, - "3359": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11683, - 11715 - ], - "op": "PUSH2", - "path": "4", - "statement": 36, - "value": "0xD2A" - }, - "3362": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11692, - 11698 - ], - "op": "DUP5", - "path": "4" - }, - "3363": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11700, - 11705 - ], - "op": "DUP5", - "path": "4" - }, - "3364": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11707, - 11714 - ], - "op": "DUP5", - "path": "4" - }, - "3365": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11707, - 11714 - ], - "op": "DUP5", - "path": "4" - }, - "3366": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11683, - 11691 - ], - "op": "PUSH2", - "path": "4", - "value": "0xFBA" - }, - "3369": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11683, - 11715 - ], - "op": "JUMP", - "path": "4" - }, - "3370": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11683, - 11715 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3371": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11751, - 11752 - ], - "op": "DUP5", - "path": "4", - "statement": 37 - }, - "3372": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11747, - 11749 - ], - "op": "DUP7", - "path": "4" - }, - "3373": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "PUSH32", - "path": "4", - "value": "0xC2617EFA69BAB66782FA219543714338489C4E9E178271560A91B82C3F612B58" - }, - "3406": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11754, - 11760 - ], - "op": "DUP7", - "path": "4" - }, - "3407": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11762, - 11767 - ], - "op": "DUP7", - "path": "4" - }, - "3408": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11769, - 11776 - ], - "op": "DUP7", - "path": "4" - }, - "3409": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11769, - 11776 - ], - "op": "DUP7", - "path": "4" - }, - "3410": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3412": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "MLOAD", - "path": "4" - }, - "3413": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "PUSH2", - "path": "4", - "value": "0xD61" - }, - "3416": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SWAP5", - "path": "4" - }, - "3417": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SWAP4", - "path": "4" - }, - "3418": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SWAP3", - "path": "4" - }, - "3419": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SWAP2", - "path": "4" - }, - "3420": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SWAP1", - "path": "4" - }, - "3421": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "PUSH2", - "path": "4", - "value": "0x19B9" - }, - "3424": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11734, - 11777 - ], - "op": "JUMP", - "path": "4" - }, - "3425": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3426": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3428": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "MLOAD", - "path": "4" - }, - "3429": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "DUP1", - "path": "4" - }, - "3430": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SWAP2", - "path": "4" - }, - "3431": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SUB", - "path": "4" - }, - "3432": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "SWAP1", - "path": "4" - }, - "3433": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11734, - 11777 - ], - "op": "LOG3", - "path": "4" - }, - "3434": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11539, - 11788 - ], - "op": "POP", - "path": "4" - }, - "3435": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11539, - 11788 - ], - "op": "POP", - "path": "4" - }, - "3436": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11539, - 11788 - ], - "op": "POP", - "path": "4" - }, - "3437": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11539, - 11788 - ], - "op": "POP", - "path": "4" - }, - "3438": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11534, - 11537 - ], - "op": "DUP1", - "path": "4", - "statement": 38 - }, - "3439": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11534, - 11537 - ], - "op": "PUSH2", - "path": "4", - "value": "0xD77" - }, - "3442": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11534, - 11537 - ], - "op": "SWAP1", - "path": "4" - }, - "3443": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11534, - 11537 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1ABB" - }, - "3446": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11534, - 11537 - ], - "op": "JUMP", - "path": "4" - }, - "3447": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11534, - 11537 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3448": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11534, - 11537 - ], - "op": "SWAP1", - "path": "4" - }, - "3449": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11534, - 11537 - ], - "op": "POP", - "path": "4" - }, - "3450": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "PUSH2", - "path": "4", - "value": "0xCA3" - }, - "3453": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "JUMP", - "path": "4" - }, - "3454": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3455": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11494, - 11788 - ], - "op": "POP", - "path": "4" - }, - "3456": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11797, - 11811 - ], - "op": "PUSH2", - "path": "4", - "statement": 39, - "value": "0xD88" - }, - "3459": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11808, - 11810 - ], - "op": "DUP2", - "path": "4" - }, - "3460": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11797, - 11807 - ], - "op": "PUSH2", - "path": "4", - "value": "0x108D" - }, - "3463": { - "fn": "TimelockController.executeBatch", - "jump": "i", - "offset": [ - 11797, - 11811 - ], - "op": "JUMP", - "path": "4" - }, - "3464": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11797, - 11811 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3465": { - "fn": "TimelockController.executeBatch", - "offset": [ - 11177, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3466": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3467": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3468": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3469": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3470": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3471": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3472": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3473": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3474": { - "fn": "TimelockController.executeBatch", - "offset": [ - 10935, - 11818 - ], - "op": "POP", - "path": "4" - }, - "3475": { - "fn": "TimelockController.executeBatch", - "jump": "o", - "offset": [ - 10935, - 11818 - ], - "op": "JUMP", - "path": "4" - }, - "3476": { - "fn": "AccessControl._checkRole", - "offset": [ - 3334, - 3437 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3477": { - "fn": "AccessControl._checkRole", - "offset": [ - 3400, - 3430 - ], - "op": "PUSH2", - "path": "0", - "statement": 40, - "value": "0xD9E" - }, - "3480": { - "fn": "AccessControl._checkRole", - "offset": [ - 3411, - 3415 - ], - "op": "DUP2", - "path": "0" - }, - "3481": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "3482": { - "offset": [ - 4514, - 4524 - ], - "op": "PUSH2", - "path": "4", - "value": "0xEC5" - }, - "3485": { - "jump": "i", - "offset": [ - 4514, - 4544 - ], - "op": "JUMP", - "path": "4" - }, - "3486": { - "fn": "AccessControl._checkRole", - "offset": [ - 3400, - 3430 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3487": { - "fn": "AccessControl._checkRole", - "offset": [ - 3334, - 3437 - ], - "op": "POP", - "path": "0" - }, - "3488": { - "fn": "AccessControl._checkRole", - "jump": "o", - "offset": [ - 3334, - 3437 - ], - "op": "JUMP", - "path": "0" - }, - "3489": { - "fn": "TimelockController._schedule", - "offset": [ - 9089, - 9370 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3490": { - "fn": "TimelockController._schedule", - "offset": [ - 9162, - 9177 - ], - "op": "PUSH2", - "path": "4", - "statement": 41, - "value": "0xDAA" - }, - "3493": { - "fn": "TimelockController._schedule", - "offset": [ - 9174, - 9176 - ], - "op": "DUP3", - "path": "4" - }, - "3494": { - "fn": "TimelockController._schedule", - "offset": [ - 9162, - 9173 - ], - "op": "PUSH2", - "path": "4", - "value": "0x7BB" - }, - "3497": { - "fn": "TimelockController._schedule", - "jump": "i", - "offset": [ - 9162, - 9177 - ], - "op": "JUMP", - "path": "4" - }, - "3498": { - "fn": "TimelockController._schedule", - "offset": [ - 9162, - 9177 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3499": { - "branch": 63, - "fn": "TimelockController._schedule", - "offset": [ - 9161, - 9177 - ], - "op": "ISZERO", - "path": "4" - }, - "3500": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "PUSH2", - "path": "4", - "value": "0xE0F" - }, - "3503": { - "branch": 63, - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "JUMPI", - "path": "4" - }, - "3504": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3506": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "MLOAD", - "path": "4" - }, - "3507": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "3511": { - "op": "PUSH1", - "value": "0xE5" - }, - "3513": { - "op": "SHL" - }, - "3514": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "DUP2", - "path": "4" - }, - "3515": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "MSTORE", - "path": "4" - }, - "3516": { - "op": "PUSH1", - "value": "0x20" - }, - "3518": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "3520": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "DUP3", - "path": "4" - }, - "3521": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "ADD", - "path": "4" - }, - "3522": { - "op": "MSTORE" - }, - "3523": { - "op": "PUSH1", - "value": "0x2F" - }, - "3525": { - "op": "PUSH1", - "value": "0x24" - }, - "3527": { - "op": "DUP3" - }, - "3528": { - "op": "ADD" - }, - "3529": { - "op": "MSTORE" - }, - "3530": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E20616C" - }, - "3563": { - "op": "PUSH1", - "value": "0x44" - }, - "3565": { - "op": "DUP3" - }, - "3566": { - "op": "ADD" - }, - "3567": { - "op": "MSTORE" - }, - "3568": { - "op": "PUSH15", - "value": "0x1C9958591E481CD8DA19591D5B1959" - }, - "3584": { - "op": "PUSH1", - "value": "0x8A" - }, - "3586": { - "op": "SHL" - }, - "3587": { - "op": "PUSH1", - "value": "0x64" - }, - "3589": { - "op": "DUP3" - }, - "3590": { - "op": "ADD" - }, - "3591": { - "op": "MSTORE" - }, - "3592": { - "op": "PUSH1", - "value": "0x84" - }, - "3594": { - "op": "ADD" - }, - "3595": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "3598": { - "op": "JUMP" - }, - "3599": { - "fn": "TimelockController._schedule", - "offset": [ - 9153, - 9229 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3600": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6544, - 6553 - ], - "op": "PUSH1", - "path": "4", - "value": "0x2" - }, - "3602": { - "fn": "TimelockController.getMinDelay", - "offset": [ - 6544, - 6553 - ], - "op": "SLOAD", - "path": "4" - }, - "3603": { - "fn": "TimelockController._schedule", - "offset": [ - 9247, - 9252 - ], - "op": "DUP2", - "path": "4", - "statement": 42 - }, - "3604": { - "fn": "TimelockController._schedule", - "offset": [ - 9247, - 9269 - ], - "op": "LT", - "path": "4" - }, - "3605": { - "branch": 64, - "fn": "TimelockController._schedule", - "offset": [ - 9247, - 9269 - ], - "op": "ISZERO", - "path": "4" - }, - "3606": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "PUSH2", - "path": "4", - "value": "0xE70" - }, - "3609": { - "branch": 64, - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "JUMPI", - "path": "4" - }, - "3610": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3612": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "MLOAD", - "path": "4" - }, - "3613": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "3617": { - "op": "PUSH1", - "value": "0xE5" - }, - "3619": { - "op": "SHL" - }, - "3620": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "DUP2", - "path": "4" - }, - "3621": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "MSTORE", - "path": "4" - }, - "3622": { - "op": "PUSH1", - "value": "0x20" - }, - "3624": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "3626": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "DUP3", - "path": "4" - }, - "3627": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "ADD", - "path": "4" - }, - "3628": { - "op": "MSTORE" - }, - "3629": { - "op": "PUSH1", - "value": "0x26" - }, - "3631": { - "op": "PUSH1", - "value": "0x24" - }, - "3633": { - "op": "DUP3" - }, - "3634": { - "op": "ADD" - }, - "3635": { - "op": "MSTORE" - }, - "3636": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A20696E73756666696369656E74" - }, - "3669": { - "op": "PUSH1", - "value": "0x44" - }, - "3671": { - "op": "DUP3" - }, - "3672": { - "op": "ADD" - }, - "3673": { - "op": "MSTORE" - }, - "3674": { - "op": "PUSH6", - "value": "0x2064656C6179" - }, - "3681": { - "op": "PUSH1", - "value": "0xD0" - }, - "3683": { - "op": "SHL" - }, - "3684": { - "op": "PUSH1", - "value": "0x64" - }, - "3686": { - "op": "DUP3" - }, - "3687": { - "op": "ADD" - }, - "3688": { - "op": "MSTORE" - }, - "3689": { - "op": "PUSH1", - "value": "0x84" - }, - "3691": { - "op": "ADD" - }, - "3692": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "3695": { - "op": "JUMP" - }, - "3696": { - "fn": "TimelockController._schedule", - "offset": [ - 9239, - 9312 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3697": { - "fn": "TimelockController._schedule", - "offset": [ - 9340, - 9363 - ], - "op": "PUSH2", - "path": "4", - "statement": 43, - "value": "0xE7A" - }, - "3700": { - "fn": "TimelockController._schedule", - "offset": [ - 9358, - 9363 - ], - "op": "DUP2", - "path": "4" - }, - "3701": { - "fn": "TimelockController._schedule", - "offset": [ - 9340, - 9355 - ], - "op": "TIMESTAMP", - "path": "4" - }, - "3702": { - "fn": "TimelockController._schedule", - "offset": [ - 9340, - 9363 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1C06" - }, - "3705": { - "fn": "TimelockController._schedule", - "jump": "i", - "offset": [ - 9340, - 9363 - ], - "op": "JUMP", - "path": "4" - }, - "3706": { - "fn": "TimelockController._schedule", - "offset": [ - 9340, - 9363 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3707": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3709": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "SWAP3", - "path": "4" - }, - "3710": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "DUP4", - "path": "4" - }, - "3711": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "MSTORE", - "path": "4" - }, - "3712": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9333 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "3714": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "3716": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "MSTORE", - "path": "4" - }, - "3717": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3719": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "SWAP1", - "path": "4" - }, - "3720": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "SWAP3", - "path": "4" - }, - "3721": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9337 - ], - "op": "KECCAK256", - "path": "4" - }, - "3722": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9363 - ], - "op": "SWAP2", - "path": "4" - }, - "3723": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9363 - ], - "op": "SWAP1", - "path": "4" - }, - "3724": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9363 - ], - "op": "SWAP2", - "path": "4" - }, - "3725": { - "fn": "TimelockController._schedule", - "offset": [ - 9322, - 9363 - ], - "op": "SSTORE", - "path": "4" - }, - "3726": { - "op": "POP" - }, - "3727": { - "fn": "TimelockController._schedule", - "jump": "o", - "offset": [ - 9089, - 9370 - ], - "op": "JUMP", - "path": "4" - }, - "3728": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2606, - 2808 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3729": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2691, - 2695 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "3731": { - "op": "PUSH1", - "value": "0x1" - }, - "3733": { - "op": "PUSH1", - "value": "0x1" - }, - "3735": { - "op": "PUSH1", - "value": "0xE0" - }, - "3737": { - "op": "SHL" - }, - "3738": { - "op": "SUB" - }, - "3739": { - "op": "NOT" - }, - "3740": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2714, - 2761 - ], - "op": "DUP3", - "path": "0", - "statement": 44 - }, - "3741": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2714, - 2761 - ], - "op": "AND", - "path": "0" - }, - "3742": { - "op": "PUSH4", - "value": "0x7965DB0B" - }, - "3747": { - "op": "PUSH1", - "value": "0xE0" - }, - "3749": { - "op": "SHL" - }, - "3750": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2714, - 2761 - ], - "op": "EQ", - "path": "0" - }, - "3751": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2714, - 2761 - ], - "op": "DUP1", - "path": "0" - }, - "3752": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2714, - 2801 - ], - "op": "PUSH2", - "path": "0", - "value": "0x6B0" - }, - "3755": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2714, - 2801 - ], - "op": "JUMPI", - "path": "0" - }, - "3756": { - "op": "POP" - }, - "3757": { - "op": "PUSH4", - "value": "0x1FFC9A7" - }, - "3762": { - "op": "PUSH1", - "value": "0xE0" - }, - "3764": { - "op": "SHL" - }, - "3765": { - "op": "PUSH1", - "value": "0x1" - }, - "3767": { - "op": "PUSH1", - "value": "0x1" - }, - "3769": { - "op": "PUSH1", - "value": "0xE0" - }, - "3771": { - "op": "SHL" - }, - "3772": { - "op": "SUB" - }, - "3773": { - "op": "NOT" - }, - "3774": { - "fn": "ERC165.supportsInterface", - "offset": [ - 937, - 977 - ], - "op": "DUP4", - "path": "28", - "statement": 45 - }, - "3775": { - "fn": "ERC165.supportsInterface", - "offset": [ - 937, - 977 - ], - "op": "AND", - "path": "28" - }, - "3776": { - "fn": "ERC165.supportsInterface", - "offset": [ - 937, - 977 - ], - "op": "EQ", - "path": "28" - }, - "3777": { - "fn": "AccessControl.supportsInterface", - "offset": [ - 2765, - 2801 - ], - "op": "PUSH2", - "path": "0", - "value": "0x6B0" - }, - "3780": { - "fn": "ERC165.supportsInterface", - "offset": [ - 829, - 984 - ], - "op": "JUMP", - "path": "28" - }, - "3781": { - "fn": "AccessControl._checkRole", - "offset": [ - 3718, - 4197 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3782": { - "fn": "AccessControl._checkRole", - "offset": [ - 3806, - 3828 - ], - "op": "PUSH2", - "path": "0", - "value": "0xECF" - }, - "3785": { - "fn": "AccessControl._checkRole", - "offset": [ - 3814, - 3818 - ], - "op": "DUP3", - "path": "0" - }, - "3786": { - "fn": "AccessControl._checkRole", - "offset": [ - 3820, - 3827 - ], - "op": "DUP3", - "path": "0" - }, - "3787": { - "fn": "AccessControl._checkRole", - "offset": [ - 3806, - 3813 - ], - "op": "PUSH2", - "path": "0", - "value": "0xAA2" - }, - "3790": { - "fn": "AccessControl._checkRole", - "jump": "i", - "offset": [ - 3806, - 3828 - ], - "op": "JUMP", - "path": "0" - }, - "3791": { - "branch": 71, - "fn": "AccessControl._checkRole", - "offset": [ - 3806, - 3828 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3792": { - "fn": "AccessControl._checkRole", - "offset": [ - 3801, - 4191 - ], - "op": "PUSH2", - "path": "0", - "value": "0x853" - }, - "3795": { - "branch": 71, - "fn": "AccessControl._checkRole", - "offset": [ - 3801, - 4191 - ], - "op": "JUMPI", - "path": "0" - }, - "3796": { - "fn": "AccessControl._checkRole", - "offset": [ - 3989, - 4017 - ], - "op": "PUSH2", - "path": "0", - "statement": 46, - "value": "0xEDC" - }, - "3799": { - "fn": "AccessControl._checkRole", - "offset": [ - 4009, - 4016 - ], - "op": "DUP2", - "path": "0" - }, - "3800": { - "fn": "AccessControl._checkRole", - "offset": [ - 3989, - 4008 - ], - "op": "PUSH2", - "path": "0", - "value": "0x11AF" - }, - "3803": { - "fn": "AccessControl._checkRole", - "jump": "i", - "offset": [ - 3989, - 4017 - ], - "op": "JUMP", - "path": "0" - }, - "3804": { - "fn": "AccessControl._checkRole", - "offset": [ - 3989, - 4017 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3805": { - "fn": "AccessControl._checkRole", - "offset": [ - 4088, - 4126 - ], - "op": "PUSH2", - "path": "0", - "value": "0xEE7" - }, - "3808": { - "fn": "AccessControl._checkRole", - "offset": [ - 4116, - 4120 - ], - "op": "DUP4", - "path": "0" - }, - "3809": { - "fn": "AccessControl._checkRole", - "offset": [ - 4123, - 4125 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "3811": { - "fn": "AccessControl._checkRole", - "offset": [ - 4088, - 4107 - ], - "op": "PUSH2", - "path": "0", - "value": "0x11C1" - }, - "3814": { - "fn": "AccessControl._checkRole", - "jump": "i", - "offset": [ - 4088, - 4126 - ], - "op": "JUMP", - "path": "0" - }, - "3815": { - "fn": "AccessControl._checkRole", - "offset": [ - 4088, - 4126 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3816": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "3818": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "MLOAD", - "path": "0" - }, - "3819": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "3821": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "ADD", - "path": "0" - }, - "3822": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "PUSH2", - "path": "0", - "value": "0xEF8" - }, - "3825": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "SWAP3", - "path": "0" - }, - "3826": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "SWAP2", - "path": "0" - }, - "3827": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "SWAP1", - "path": "0" - }, - "3828": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1C3D" - }, - "3831": { - "fn": "AccessControl._checkRole", - "jump": "i", - "offset": [ - 3896, - 4148 - ], - "op": "JUMP", - "path": "0" - }, - "3832": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "JUMPDEST", - "path": "0" - }, - "3833": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "3835": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "DUP1", - "path": "0" - }, - "3836": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "MLOAD", - "path": "0" - }, - "3837": { - "op": "PUSH1", - "value": "0x1F" - }, - "3839": { - "op": "NOT" - }, - "3840": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "DUP2", - "path": "0" - }, - "3841": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "DUP5", - "path": "0" - }, - "3842": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "SUB", - "path": "0" - }, - "3843": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "ADD", - "path": "0" - }, - "3844": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "DUP2", - "path": "0" - }, - "3845": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "MSTORE", - "path": "0" - }, - "3846": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "SWAP1", - "path": "0" - }, - "3847": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "DUP3", - "path": "0" - }, - "3848": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "SWAP1", - "path": "0" - }, - "3849": { - "fn": "AccessControl._checkRole", - "offset": [ - 3896, - 4148 - ], - "op": "MSTORE", - "path": "0" - }, - "3850": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "3854": { - "op": "PUSH1", - "value": "0xE5" - }, - "3856": { - "op": "SHL" - }, - "3857": { - "fn": "AccessControl._checkRole", - "offset": [ - 3844, - 4180 - ], - "op": "DUP3", - "path": "0" - }, - "3858": { - "fn": "AccessControl._checkRole", - "offset": [ - 3844, - 4180 - ], - "op": "MSTORE", - "path": "0" - }, - "3859": { - "fn": "AccessControl._checkRole", - "offset": [ - 3844, - 4180 - ], - "op": "PUSH2", - "path": "0", - "value": "0x840" - }, - "3862": { - "fn": "AccessControl._checkRole", - "offset": [ - 3844, - 4180 - ], - "op": "SWAP2", - "path": "0" - }, - "3863": { - "fn": "AccessControl._checkRole", - "offset": [ - 3844, - 4180 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "3865": { - "fn": "AccessControl._checkRole", - "offset": [ - 3844, - 4180 - ], - "op": "ADD", - "path": "0" - }, - "3866": { - "fn": "AccessControl._checkRole", - "offset": [ - 3844, - 4180 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1CB2" - }, - "3869": { - "fn": "AccessControl._checkRole", - "jump": "i", - "offset": [ - 3844, - 4180 - ], - "op": "JUMP", - "path": "0" - }, - "3870": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12229, - 12506 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3871": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12314, - 12334 - ], - "op": "PUSH2", - "path": "4", - "statement": 47, - "value": "0xF27" - }, - "3874": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12331, - 12333 - ], - "op": "DUP3", - "path": "4" - }, - "3875": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12314, - 12330 - ], - "op": "PUSH2", - "path": "4", - "value": "0x76B" - }, - "3878": { - "fn": "TimelockController._beforeCall", - "jump": "i", - "offset": [ - 12314, - 12334 - ], - "op": "JUMP", - "path": "4" - }, - "3879": { - "branch": 65, - "fn": "TimelockController._beforeCall", - "offset": [ - 12314, - 12334 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3880": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "PUSH2", - "path": "4", - "value": "0xF43" - }, - "3883": { - "branch": 65, - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "JUMPI", - "path": "4" - }, - "3884": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3886": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "MLOAD", - "path": "4" - }, - "3887": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "3891": { - "op": "PUSH1", - "value": "0xE5" - }, - "3893": { - "op": "SHL" - }, - "3894": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "DUP2", - "path": "4" - }, - "3895": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "MSTORE", - "path": "4" - }, - "3896": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "3898": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "ADD", - "path": "4" - }, - "3899": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "3902": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "SWAP1", - "path": "4" - }, - "3903": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1CE5" - }, - "3906": { - "fn": "TimelockController._beforeCall", - "jump": "i", - "offset": [ - 12306, - 12381 - ], - "op": "JUMP", - "path": "4" - }, - "3907": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12306, - 12381 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3908": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12399, - 12424 - ], - "op": "DUP1", - "path": "4", - "statement": 48 - }, - "3909": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12399, - 12424 - ], - "op": "ISZERO", - "path": "4" - }, - "3910": { - "branch": 66, - "fn": "TimelockController._beforeCall", - "offset": [ - 12399, - 12424 - ], - "op": "DUP1", - "path": "4" - }, - "3911": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12399, - 12456 - ], - "op": "PUSH2", - "path": "4", - "value": "0xF5F" - }, - "3914": { - "branch": 66, - "fn": "TimelockController._beforeCall", - "offset": [ - 12399, - 12456 - ], - "op": "JUMPI", - "path": "4" - }, - "3915": { - "op": "POP" - }, - "3916": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5933, - 5942 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "3918": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "3919": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "3920": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "3921": { - "offset": [ - 1470, - 1471 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "3923": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "3925": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "DUP2", - "path": "4" - }, - "3926": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "3927": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "MSTORE", - "path": "4" - }, - "3928": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3930": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP1", - "path": "4" - }, - "3931": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SWAP2", - "path": "4" - }, - "3932": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "KECCAK256", - "path": "4" - }, - "3933": { - "fn": "TimelockController.getTimestamp", - "offset": [ - 6249, - 6264 - ], - "op": "SLOAD", - "path": "4" - }, - "3934": { - "fn": "TimelockController.isOperationDone", - "offset": [ - 5961, - 5996 - ], - "op": "EQ", - "path": "4" - }, - "3935": { - "branch": 67, - "fn": "TimelockController._beforeCall", - "offset": [ - 12428, - 12456 - ], - "op": "JUMPDEST", - "path": "4" - }, - "3936": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "PUSH2", - "path": "4", - "value": "0x853" - }, - "3939": { - "branch": 67, - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "JUMPI", - "path": "4" - }, - "3940": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "3942": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "MLOAD", - "path": "4" - }, - "3943": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "3947": { - "op": "PUSH1", - "value": "0xE5" - }, - "3949": { - "op": "SHL" - }, - "3950": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "DUP2", - "path": "4" - }, - "3951": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "MSTORE", - "path": "4" - }, - "3952": { - "op": "PUSH1", - "value": "0x20" - }, - "3954": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "3956": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "DUP3", - "path": "4" - }, - "3957": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "ADD", - "path": "4" - }, - "3958": { - "op": "MSTORE" - }, - "3959": { - "op": "PUSH1", - "value": "0x26" - }, - "3961": { - "op": "PUSH1", - "value": "0x24" - }, - "3963": { - "op": "DUP3" - }, - "3964": { - "op": "ADD" - }, - "3965": { - "op": "MSTORE" - }, - "3966": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A206D697373696E672064657065" - }, - "3999": { - "op": "PUSH1", - "value": "0x44" - }, - "4001": { - "op": "DUP3" - }, - "4002": { - "op": "ADD" - }, - "4003": { - "op": "MSTORE" - }, - "4004": { - "op": "PUSH6", - "value": "0x6E64656E6379" - }, - "4011": { - "op": "PUSH1", - "value": "0xD0" - }, - "4013": { - "op": "SHL" - }, - "4014": { - "op": "PUSH1", - "value": "0x64" - }, - "4016": { - "op": "DUP3" - }, - "4017": { - "op": "ADD" - }, - "4018": { - "op": "MSTORE" - }, - "4019": { - "op": "PUSH1", - "value": "0x84" - }, - "4021": { - "op": "ADD" - }, - "4022": { - "fn": "TimelockController._beforeCall", - "offset": [ - 12391, - 12499 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "4025": { - "op": "JUMP" - }, - "4026": { - "fn": "TimelockController._execute", - "offset": [ - 11881, - 12146 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4027": { - "fn": "TimelockController._execute", - "offset": [ - 12009, - 12021 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "4029": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12033 - ], - "op": "DUP5", - "path": "4" - }, - "4030": { - "op": "PUSH1", - "value": "0x1" - }, - "4032": { - "op": "PUSH1", - "value": "0x1" - }, - "4034": { - "op": "PUSH1", - "value": "0xA0" - }, - "4036": { - "op": "SHL" - }, - "4037": { - "op": "SUB" - }, - "4038": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12038 - ], - "op": "AND", - "path": "4" - }, - "4039": { - "fn": "TimelockController._execute", - "offset": [ - 12046, - 12051 - ], - "op": "DUP5", - "path": "4" - }, - "4040": { - "fn": "TimelockController._execute", - "offset": [ - 12053, - 12057 - ], - "op": "DUP5", - "path": "4" - }, - "4041": { - "fn": "TimelockController._execute", - "offset": [ - 12053, - 12057 - ], - "op": "DUP5", - "path": "4" - }, - "4042": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4044": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "MLOAD", - "path": "4" - }, - "4045": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH2", - "path": "4", - "value": "0xFD7" - }, - "4048": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "SWAP3", - "path": "4" - }, - "4049": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "SWAP2", - "path": "4" - }, - "4050": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "SWAP1", - "path": "4" - }, - "4051": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1D2F" - }, - "4054": { - "fn": "TimelockController._execute", - "jump": "i", - "offset": [ - 12027, - 12058 - ], - "op": "JUMP", - "path": "4" - }, - "4055": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4056": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "4058": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4060": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "MLOAD", - "path": "4" - }, - "4061": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP1", - "path": "4" - }, - "4062": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP4", - "path": "4" - }, - "4063": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "SUB", - "path": "4" - }, - "4064": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP2", - "path": "4" - }, - "4065": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP6", - "path": "4" - }, - "4066": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP8", - "path": "4" - }, - "4067": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "GAS", - "path": "4" - }, - "4068": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "CALL", - "path": "4" - }, - "4069": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "SWAP3", - "path": "4" - }, - "4070": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4071": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4072": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4073": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "RETURNDATASIZE", - "path": "4" - }, - "4074": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP1", - "path": "4" - }, - "4075": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "4077": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP2", - "path": "4" - }, - "4078": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "EQ", - "path": "4" - }, - "4079": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1014" - }, - "4082": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "JUMPI", - "path": "4" - }, - "4083": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4085": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "MLOAD", - "path": "4" - }, - "4086": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "SWAP2", - "path": "4" - }, - "4087": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4088": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1F" - }, - "4090": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "NOT", - "path": "4" - }, - "4091": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x3F" - }, - "4093": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "RETURNDATASIZE", - "path": "4" - }, - "4094": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "ADD", - "path": "4" - }, - "4095": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "AND", - "path": "4" - }, - "4096": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP3", - "path": "4" - }, - "4097": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "ADD", - "path": "4" - }, - "4098": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4100": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "MSTORE", - "path": "4" - }, - "4101": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "RETURNDATASIZE", - "path": "4" - }, - "4102": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP3", - "path": "4" - }, - "4103": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "MSTORE", - "path": "4" - }, - "4104": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "RETURNDATASIZE", - "path": "4" - }, - "4105": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x0" - }, - "4107": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "4109": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "DUP5", - "path": "4" - }, - "4110": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "ADD", - "path": "4" - }, - "4111": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "RETURNDATACOPY", - "path": "4" - }, - "4112": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1019" - }, - "4115": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "JUMP", - "path": "4" - }, - "4116": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4117": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "PUSH1", - "path": "4", - "value": "0x60" - }, - "4119": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "SWAP2", - "path": "4" - }, - "4120": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4121": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4122": { - "fn": "TimelockController._execute", - "offset": [ - 12027, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4123": { - "fn": "TimelockController._execute", - "offset": [ - 12008, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4124": { - "fn": "TimelockController._execute", - "offset": [ - 12008, - 12058 - ], - "op": "SWAP1", - "path": "4" - }, - "4125": { - "fn": "TimelockController._execute", - "offset": [ - 12008, - 12058 - ], - "op": "POP", - "path": "4" - }, - "4126": { - "branch": 68, - "fn": "TimelockController._execute", - "offset": [ - 12076, - 12083 - ], - "op": "DUP1", - "path": "4", - "statement": 49 - }, - "4127": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1086" - }, - "4130": { - "branch": 68, - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "JUMPI", - "path": "4" - }, - "4131": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4133": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "MLOAD", - "path": "4" - }, - "4134": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "4138": { - "op": "PUSH1", - "value": "0xE5" - }, - "4140": { - "op": "SHL" - }, - "4141": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "DUP2", - "path": "4" - }, - "4142": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "MSTORE", - "path": "4" - }, - "4143": { - "op": "PUSH1", - "value": "0x20" - }, - "4145": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "4147": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "DUP3", - "path": "4" - }, - "4148": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "ADD", - "path": "4" - }, - "4149": { - "op": "MSTORE" - }, - "4150": { - "op": "PUSH1", - "value": "0x33" - }, - "4152": { - "op": "PUSH1", - "value": "0x24" - }, - "4154": { - "op": "DUP3" - }, - "4155": { - "op": "ADD" - }, - "4156": { - "op": "MSTORE" - }, - "4157": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A20756E6465726C79696E672074" - }, - "4190": { - "op": "PUSH1", - "value": "0x44" - }, - "4192": { - "op": "DUP3" - }, - "4193": { - "op": "ADD" - }, - "4194": { - "op": "MSTORE" - }, - "4195": { - "op": "PUSH19", - "value": "0x1C985B9CD858DD1A5BDB881C995D995C9D1959" - }, - "4215": { - "op": "PUSH1", - "value": "0x6A" - }, - "4217": { - "op": "SHL" - }, - "4218": { - "op": "PUSH1", - "value": "0x64" - }, - "4220": { - "op": "DUP3" - }, - "4221": { - "op": "ADD" - }, - "4222": { - "op": "MSTORE" - }, - "4223": { - "op": "PUSH1", - "value": "0x84" - }, - "4225": { - "op": "ADD" - }, - "4226": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "4229": { - "op": "JUMP" - }, - "4230": { - "fn": "TimelockController._execute", - "offset": [ - 12068, - 12139 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4231": { - "fn": "TimelockController._execute", - "offset": [ - 11998, - 12146 - ], - "op": "POP", - "path": "4" - }, - "4232": { - "fn": "TimelockController._execute", - "offset": [ - 11881, - 12146 - ], - "op": "POP", - "path": "4" - }, - "4233": { - "fn": "TimelockController._execute", - "offset": [ - 11881, - 12146 - ], - "op": "POP", - "path": "4" - }, - "4234": { - "fn": "TimelockController._execute", - "offset": [ - 11881, - 12146 - ], - "op": "POP", - "path": "4" - }, - "4235": { - "fn": "TimelockController._execute", - "offset": [ - 11881, - 12146 - ], - "op": "POP", - "path": "4" - }, - "4236": { - "fn": "TimelockController._execute", - "jump": "o", - "offset": [ - 11881, - 12146 - ], - "op": "JUMP", - "path": "4" - }, - "4237": { - "fn": "TimelockController._afterCall", - "offset": [ - 12588, - 12763 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4238": { - "fn": "TimelockController._afterCall", - "offset": [ - 12646, - 12666 - ], - "op": "PUSH2", - "path": "4", - "statement": 50, - "value": "0x1096" - }, - "4241": { - "fn": "TimelockController._afterCall", - "offset": [ - 12663, - 12665 - ], - "op": "DUP2", - "path": "4" - }, - "4242": { - "fn": "TimelockController._afterCall", - "offset": [ - 12646, - 12662 - ], - "op": "PUSH2", - "path": "4", - "value": "0x76B" - }, - "4245": { - "fn": "TimelockController._afterCall", - "jump": "i", - "offset": [ - 12646, - 12666 - ], - "op": "JUMP", - "path": "4" - }, - "4246": { - "branch": 69, - "fn": "TimelockController._afterCall", - "offset": [ - 12646, - 12666 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4247": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "PUSH2", - "path": "4", - "value": "0x10B2" - }, - "4250": { - "branch": 69, - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "JUMPI", - "path": "4" - }, - "4251": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4253": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "MLOAD", - "path": "4" - }, - "4254": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "4258": { - "op": "PUSH1", - "value": "0xE5" - }, - "4260": { - "op": "SHL" - }, - "4261": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "DUP2", - "path": "4" - }, - "4262": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "MSTORE", - "path": "4" - }, - "4263": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "PUSH1", - "path": "4", - "value": "0x4" - }, - "4265": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "ADD", - "path": "4" - }, - "4266": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "PUSH2", - "path": "4", - "value": "0x840" - }, - "4269": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "SWAP1", - "path": "4" - }, - "4270": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "PUSH2", - "path": "4", - "value": "0x1CE5" - }, - "4273": { - "fn": "TimelockController._afterCall", - "jump": "i", - "offset": [ - 12638, - 12713 - ], - "op": "JUMP", - "path": "4" - }, - "4274": { - "fn": "TimelockController._afterCall", - "offset": [ - 12638, - 12713 - ], - "op": "JUMPDEST", - "path": "4" - }, - "4275": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "PUSH1", - "path": "4", - "statement": 51, - "value": "0x0" - }, - "4277": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "SWAP1", - "path": "4" - }, - "4278": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "DUP2", - "path": "4" - }, - "4279": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "MSTORE", - "path": "4" - }, - "4280": { - "offset": [ - 1470, - 1471 - ], - "op": "PUSH1", - "path": "4", - "value": "0x1" - }, - "4282": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "PUSH1", - "path": "4", - "value": "0x20" - }, - "4284": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "DUP2", - "path": "4" - }, - "4285": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "SWAP1", - "path": "4" - }, - "4286": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "MSTORE", - "path": "4" - }, - "4287": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "PUSH1", - "path": "4", - "value": "0x40" - }, - "4289": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "SWAP1", - "path": "4" - }, - "4290": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "SWAP2", - "path": "4" - }, - "4291": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12738 - ], - "op": "KECCAK256", - "path": "4" - }, - "4292": { - "fn": "TimelockController._afterCall", - "offset": [ - 12723, - 12756 - ], - "op": "SSTORE", - "path": "4" - }, - "4293": { - "fn": "TimelockController._afterCall", - "jump": "o", - "offset": [ - 12588, - 12763 - ], - "op": "JUMP", - "path": "4" - }, - "4294": { - "fn": "AccessControl._grantRole", - "offset": [ - 7461, - 7694 - ], - "op": "JUMPDEST", - "path": "0" - }, - "4295": { - "fn": "AccessControl._grantRole", - "offset": [ - 7544, - 7566 - ], - "op": "PUSH2", - "path": "0", - "value": "0x10D0" - }, - "4298": { - "fn": "AccessControl._grantRole", - "offset": [ - 7552, - 7556 - ], - "op": "DUP3", - "path": "0" - }, - "4299": { - "fn": "AccessControl._grantRole", - "offset": [ - 7558, - 7565 - ], - "op": "DUP3", - "path": "0" - }, - "4300": { - "fn": "AccessControl._grantRole", - "offset": [ - 7544, - 7551 - ], - "op": "PUSH2", - "path": "0", - "value": "0xAA2" - }, - "4303": { - "fn": "AccessControl._grantRole", - "jump": "i", - "offset": [ - 7544, - 7566 - ], - "op": "JUMP", - "path": "0" - }, - "4304": { - "branch": 72, - "fn": "AccessControl._grantRole", - "offset": [ - 7544, - 7566 - ], - "op": "JUMPDEST", - "path": "0" - }, - "4305": { - "fn": "AccessControl._grantRole", - "offset": [ - 7539, - 7688 - ], - "op": "PUSH2", - "path": "0", - "value": "0x853" - }, - "4308": { - "branch": 72, - "fn": "AccessControl._grantRole", - "offset": [ - 7539, - 7688 - ], - "op": "JUMPI", - "path": "0" - }, - "4309": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7588 - ], - "op": "PUSH1", - "path": "0", - "statement": 52, - "value": "0x0" - }, - "4311": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "DUP3", - "path": "0" - }, - "4312": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "DUP2", - "path": "0" - }, - "4313": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "MSTORE", - "path": "0" - }, - "4314": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "4316": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "DUP2", - "path": "0" - }, - "4317": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "DUP2", - "path": "0" - }, - "4318": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "MSTORE", - "path": "0" - }, - "4319": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "4321": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "DUP1", - "path": "0" - }, - "4322": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "DUP4", - "path": "0" - }, - "4323": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7594 - ], - "op": "KECCAK256", - "path": "0" - }, - "4324": { - "op": "PUSH1", - "value": "0x1" - }, - "4326": { - "op": "PUSH1", - "value": "0x1" - }, - "4328": { - "op": "PUSH1", - "value": "0xA0" - }, - "4330": { - "op": "SHL" - }, - "4331": { - "op": "SUB" - }, - "4332": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "DUP6", - "path": "0" - }, - "4333": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "AND", - "path": "0" - }, - "4334": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "DUP5", - "path": "0" - }, - "4335": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "MSTORE", - "path": "0" - }, - "4336": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "SWAP1", - "path": "0" - }, - "4337": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "SWAP2", - "path": "0" - }, - "4338": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "MSTORE", - "path": "0" - }, - "4339": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "SWAP1", - "path": "0" - }, - "4340": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7611 - ], - "op": "KECCAK256", - "path": "0" - }, - "4341": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7618 - ], - "op": "DUP1", - "path": "0" - }, - "4342": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7618 - ], - "op": "SLOAD", - "path": "0" - }, - "4343": { - "op": "PUSH1", - "value": "0xFF" - }, - "4345": { - "op": "NOT" - }, - "4346": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7618 - ], - "op": "AND", - "path": "0" - }, - "4347": { - "fn": "AccessControl._grantRole", - "offset": [ - 7614, - 7618 - ], - "op": "PUSH1", - "path": "0", - "value": "0x1" - }, - "4349": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7618 - ], - "op": "OR", - "path": "0" - }, - "4350": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7618 - ], - "op": "SWAP1", - "path": "0" - }, - "4351": { - "fn": "AccessControl._grantRole", - "offset": [ - 7582, - 7618 - ], - "op": "SSTORE", - "path": "0" - }, - "4352": { - "fn": "AccessControl._grantRole", - "offset": [ - 7664, - 7676 - ], - "op": "PUSH2", - "path": "0", - "statement": 53, - "value": "0x1106" - }, - "4355": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "4356": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "SWAP1", - "path": "22" - }, - "4357": { - "fn": "Context._msgSender", - "offset": [ - 640, - 736 - ], - "op": "JUMP", - "path": "22" - }, - "4358": { - "fn": "AccessControl._grantRole", - "offset": [ - 7664, - 7676 - ], - "op": "JUMPDEST", - "path": "0" - }, - "4359": { - "op": "PUSH1", - "value": "0x1" - }, - "4361": { - "op": "PUSH1", - "value": "0x1" - }, - "4363": { - "op": "PUSH1", - "value": "0xA0" - }, - "4365": { - "op": "SHL" - }, - "4366": { - "op": "SUB" - }, - "4367": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "AND", - "path": "0" - }, - "4368": { - "fn": "AccessControl._grantRole", - "offset": [ - 7655, - 7662 - ], - "op": "DUP2", - "path": "0" - }, - "4369": { - "op": "PUSH1", - "value": "0x1" - }, - "4371": { - "op": "PUSH1", - "value": "0x1" - }, - "4373": { - "op": "PUSH1", - "value": "0xA0" - }, - "4375": { - "op": "SHL" - }, - "4376": { - "op": "SUB" - }, - "4377": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "AND", - "path": "0" - }, - "4378": { - "fn": "AccessControl._grantRole", - "offset": [ - 7649, - 7653 - ], - "op": "DUP4", - "path": "0" - }, - "4379": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "PUSH32", - "path": "0", - "value": "0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D" - }, - "4412": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "4414": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "MLOAD", - "path": "0" - }, - "4415": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "4417": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "MLOAD", - "path": "0" - }, - "4418": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "DUP1", - "path": "0" - }, - "4419": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "SWAP2", - "path": "0" - }, - "4420": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "SUB", - "path": "0" - }, - "4421": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "SWAP1", - "path": "0" - }, - "4422": { - "fn": "AccessControl._grantRole", - "offset": [ - 7637, - 7677 - ], - "op": "LOG4", - "path": "0" - }, - "4423": { - "fn": "AccessControl._grantRole", - "offset": [ - 7461, - 7694 - ], - "op": "POP", - "path": "0" - }, - "4424": { - "fn": "AccessControl._grantRole", - "offset": [ - 7461, - 7694 - ], - "op": "POP", - "path": "0" - }, - "4425": { - "fn": "AccessControl._grantRole", - "jump": "o", - "offset": [ - 7461, - 7694 - ], - "op": "JUMP", - "path": "0" - }, - "4426": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7865, - 8099 - ], - "op": "JUMPDEST", - "path": "0" - }, - "4427": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7948, - 7970 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1154" - }, - "4430": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7956, - 7960 - ], - "op": "DUP3", - "path": "0" - }, - "4431": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7962, - 7969 - ], - "op": "DUP3", - "path": "0" - }, - "4432": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7948, - 7955 - ], - "op": "PUSH2", - "path": "0", - "value": "0xAA2" - }, - "4435": { - "fn": "AccessControl._revokeRole", - "jump": "i", - "offset": [ - 7948, - 7970 - ], - "op": "JUMP", - "path": "0" - }, - "4436": { - "branch": 73, - "fn": "AccessControl._revokeRole", - "offset": [ - 7948, - 7970 - ], - "op": "JUMPDEST", - "path": "0" - }, - "4437": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7944, - 8093 - ], - "op": "ISZERO", - "path": "0" - }, - "4438": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7944, - 8093 - ], - "op": "PUSH2", - "path": "0", - "value": "0x853" - }, - "4441": { - "branch": 73, - "fn": "AccessControl._revokeRole", - "offset": [ - 7944, - 8093 - ], - "op": "JUMPI", - "path": "0" - }, - "4442": { - "fn": "AccessControl._revokeRole", - "offset": [ - 8018, - 8023 - ], - "op": "PUSH1", - "path": "0", - "statement": 54, - "value": "0x0" - }, - "4444": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "DUP3", - "path": "0" - }, - "4445": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "DUP2", - "path": "0" - }, - "4446": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "MSTORE", - "path": "0" - }, - "4447": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "PUSH1", - "path": "0", - "value": "0x20" - }, - "4449": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "DUP2", - "path": "0" - }, - "4450": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "DUP2", - "path": "0" - }, - "4451": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "MSTORE", - "path": "0" - }, - "4452": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "4454": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "DUP1", - "path": "0" - }, - "4455": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "DUP4", - "path": "0" - }, - "4456": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "KECCAK256", - "path": "0" - }, - "4457": { - "op": "PUSH1", - "value": "0x1" - }, - "4459": { - "op": "PUSH1", - "value": "0x1" - }, - "4461": { - "op": "PUSH1", - "value": "0xA0" - }, - "4463": { - "op": "SHL" - }, - "4464": { - "op": "SUB" - }, - "4465": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "DUP6", - "path": "0" - }, - "4466": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "AND", - "path": "0" - }, - "4467": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "DUP1", - "path": "0" - }, - "4468": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "DUP6", - "path": "0" - }, - "4469": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "MSTORE", - "path": "0" - }, - "4470": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "SWAP3", - "path": "0" - }, - "4471": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "MSTORE", - "path": "0" - }, - "4472": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "DUP1", - "path": "0" - }, - "4473": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "DUP4", - "path": "0" - }, - "4474": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8015 - ], - "op": "KECCAK256", - "path": "0" - }, - "4475": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8023 - ], - "op": "DUP1", - "path": "0" - }, - "4476": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8023 - ], - "op": "SLOAD", - "path": "0" - }, - "4477": { - "op": "PUSH1", - "value": "0xFF" - }, - "4479": { - "op": "NOT" - }, - "4480": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8023 - ], - "op": "AND", - "path": "0" - }, - "4481": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8023 - ], - "op": "SWAP1", - "path": "0" - }, - "4482": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 8023 - ], - "op": "SSTORE", - "path": "0" - }, - "4483": { - "fn": "AccessControl._revokeRole", - "offset": [ - 8042, - 8082 - ], - "op": "MLOAD", - "path": "0", - "statement": 55 - }, - "4484": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "22" - }, - "4485": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "SWAP3", - "path": "22" - }, - "4486": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "DUP6", - "path": "0" - }, - "4487": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7986, - 7998 - ], - "op": "SWAP2", - "path": "0" - }, - "4488": { - "fn": "AccessControl._revokeRole", - "offset": [ - 8042, - 8082 - ], - "op": "PUSH32", - "path": "0", - "value": "0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B" - }, - "4521": { - "fn": "AccessControl._revokeRole", - "offset": [ - 8042, - 8082 - ], - "op": "SWAP2", - "path": "0" - }, - "4522": { - "fn": "AccessControl._revokeRole", - "offset": [ - 8018, - 8023 - ], - "op": "SWAP1", - "path": "0" - }, - "4523": { - "fn": "AccessControl._revokeRole", - "offset": [ - 8042, - 8082 - ], - "op": "LOG4", - "path": "0" - }, - "4524": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7865, - 8099 - ], - "op": "POP", - "path": "0" - }, - "4525": { - "fn": "AccessControl._revokeRole", - "offset": [ - 7865, - 8099 - ], - "op": "POP", - "path": "0" - }, - "4526": { - "fn": "AccessControl._revokeRole", - "jump": "o", - "offset": [ - 7865, - 8099 - ], - "op": "JUMP", - "path": "0" - }, - "4527": { - "op": "JUMPDEST" - }, - "4528": { - "op": "PUSH1", - "value": "0x60" - }, - "4530": { - "op": "PUSH2", - "value": "0x6B0" - }, - "4533": { - "op": "PUSH1", - "value": "0x1" - }, - "4535": { - "op": "PUSH1", - "value": "0x1" - }, - "4537": { - "op": "PUSH1", - "value": "0xA0" - }, - "4539": { - "op": "SHL" - }, - "4540": { - "op": "SUB" - }, - "4541": { - "op": "DUP4" - }, - "4542": { - "op": "AND" - }, - "4543": { - "op": "PUSH1", - "value": "0x14" - }, - "4545": { - "op": "JUMPDEST" - }, - "4546": { - "op": "PUSH1", - "value": "0x60" - }, - "4548": { - "op": "PUSH1", - "value": "0x0" - }, - "4550": { - "op": "PUSH2", - "value": "0x11D0" - }, - "4553": { - "op": "DUP4" - }, - "4554": { - "op": "PUSH1", - "value": "0x2" - }, - "4556": { - "op": "PUSH2", - "value": "0x1D3F" - }, - "4559": { - "jump": "i", - "op": "JUMP" - }, - "4560": { - "op": "JUMPDEST" - }, - "4561": { - "op": "PUSH2", - "value": "0x11DB" - }, - "4564": { - "op": "SWAP1" - }, - "4565": { - "op": "PUSH1", - "value": "0x2" - }, - "4567": { - "op": "PUSH2", - "value": "0x1C06" - }, - "4570": { - "jump": "i", - "op": "JUMP" - }, - "4571": { - "op": "JUMPDEST" - }, - "4572": { - "op": "PUSH1", - "value": "0x1" - }, - "4574": { - "op": "PUSH1", - "value": "0x1" - }, - "4576": { - "op": "PUSH1", - "value": "0x40" - }, - "4578": { - "op": "SHL" - }, - "4579": { - "op": "SUB" - }, - "4580": { - "op": "DUP2" - }, - "4581": { - "op": "GT" - }, - "4582": { - "op": "ISZERO" - }, - "4583": { - "op": "PUSH2", - "value": "0x11F2" - }, - "4586": { - "op": "JUMPI" - }, - "4587": { - "op": "PUSH2", - "value": "0x11F2" - }, - "4590": { - "op": "PUSH2", - "value": "0x14E2" - }, - "4593": { - "jump": "i", - "op": "JUMP" - }, - "4594": { - "op": "JUMPDEST" - }, - "4595": { - "op": "PUSH1", - "value": "0x40" - }, - "4597": { - "op": "MLOAD" - }, - "4598": { - "op": "SWAP1" - }, - "4599": { - "op": "DUP1" - }, - "4600": { - "op": "DUP3" - }, - "4601": { - "op": "MSTORE" - }, - "4602": { - "op": "DUP1" - }, - "4603": { - "op": "PUSH1", - "value": "0x1F" - }, - "4605": { - "op": "ADD" - }, - "4606": { - "op": "PUSH1", - "value": "0x1F" - }, - "4608": { - "op": "NOT" - }, - "4609": { - "op": "AND" - }, - "4610": { - "op": "PUSH1", - "value": "0x20" - }, - "4612": { - "op": "ADD" - }, - "4613": { - "op": "DUP3" - }, - "4614": { - "op": "ADD" - }, - "4615": { - "op": "PUSH1", - "value": "0x40" - }, - "4617": { - "op": "MSTORE" - }, - "4618": { - "op": "DUP1" - }, - "4619": { - "op": "ISZERO" - }, - "4620": { - "op": "PUSH2", - "value": "0x121C" - }, - "4623": { - "op": "JUMPI" - }, - "4624": { - "op": "PUSH1", - "value": "0x20" - }, - "4626": { - "op": "DUP3" - }, - "4627": { - "op": "ADD" - }, - "4628": { - "op": "DUP2" - }, - "4629": { - "op": "DUP1" - }, - "4630": { - "op": "CALLDATASIZE" - }, - "4631": { - "op": "DUP4" - }, - "4632": { - "op": "CALLDATACOPY" - }, - "4633": { - "op": "ADD" - }, - "4634": { - "op": "SWAP1" - }, - "4635": { - "op": "POP" - }, - "4636": { - "op": "JUMPDEST" - }, - "4637": { - "op": "POP" - }, - "4638": { - "op": "SWAP1" - }, - "4639": { - "op": "POP" - }, - "4640": { - "op": "PUSH1", - "value": "0x3" - }, - "4642": { - "op": "PUSH1", - "value": "0xFC" - }, - "4644": { - "op": "SHL" - }, - "4645": { - "op": "DUP2" - }, - "4646": { - "op": "PUSH1", - "value": "0x0" - }, - "4648": { - "op": "DUP2" - }, - "4649": { - "op": "MLOAD" - }, - "4650": { - "op": "DUP2" - }, - "4651": { - "op": "LT" - }, - "4652": { - "op": "PUSH2", - "value": "0x1237" - }, - "4655": { - "op": "JUMPI" - }, - "4656": { - "op": "PUSH2", - "value": "0x1237" - }, - "4659": { - "op": "PUSH2", - "value": "0x1A2E" - }, - "4662": { - "jump": "i", - "op": "JUMP" - }, - "4663": { - "op": "JUMPDEST" - }, - "4664": { - "op": "PUSH1", - "value": "0x20" - }, - "4666": { - "op": "ADD" - }, - "4667": { - "op": "ADD" - }, - "4668": { - "op": "SWAP1" - }, - "4669": { - "op": "PUSH1", - "value": "0x1" - }, - "4671": { - "op": "PUSH1", - "value": "0x1" - }, - "4673": { - "op": "PUSH1", - "value": "0xF8" - }, - "4675": { - "op": "SHL" - }, - "4676": { - "op": "SUB" - }, - "4677": { - "op": "NOT" - }, - "4678": { - "op": "AND" - }, - "4679": { - "op": "SWAP1" - }, - "4680": { - "op": "DUP2" - }, - "4681": { - "op": "PUSH1", - "value": "0x0" - }, - "4683": { - "op": "BYTE" - }, - "4684": { - "op": "SWAP1" - }, - "4685": { - "op": "MSTORE8" - }, - "4686": { - "op": "POP" - }, - "4687": { - "op": "PUSH1", - "value": "0xF" - }, - "4689": { - "op": "PUSH1", - "value": "0xFB" - }, - "4691": { - "op": "SHL" - }, - "4692": { - "op": "DUP2" - }, - "4693": { - "op": "PUSH1", - "value": "0x1" - }, - "4695": { - "op": "DUP2" - }, - "4696": { - "op": "MLOAD" - }, - "4697": { - "op": "DUP2" - }, - "4698": { - "op": "LT" - }, - "4699": { - "op": "PUSH2", - "value": "0x1266" - }, - "4702": { - "op": "JUMPI" - }, - "4703": { - "op": "PUSH2", - "value": "0x1266" - }, - "4706": { - "op": "PUSH2", - "value": "0x1A2E" - }, - "4709": { - "jump": "i", - "op": "JUMP" - }, - "4710": { - "op": "JUMPDEST" - }, - "4711": { - "op": "PUSH1", - "value": "0x20" - }, - "4713": { - "op": "ADD" - }, - "4714": { - "op": "ADD" - }, - "4715": { - "op": "SWAP1" - }, - "4716": { - "op": "PUSH1", - "value": "0x1" - }, - "4718": { - "op": "PUSH1", - "value": "0x1" - }, - "4720": { - "op": "PUSH1", - "value": "0xF8" - }, - "4722": { - "op": "SHL" - }, - "4723": { - "op": "SUB" - }, - "4724": { - "op": "NOT" - }, - "4725": { - "op": "AND" - }, - "4726": { - "op": "SWAP1" - }, - "4727": { - "op": "DUP2" - }, - "4728": { - "op": "PUSH1", - "value": "0x0" - }, - "4730": { - "op": "BYTE" - }, - "4731": { - "op": "SWAP1" - }, - "4732": { - "op": "MSTORE8" - }, - "4733": { - "op": "POP" - }, - "4734": { - "op": "PUSH1", - "value": "0x0" - }, - "4736": { - "op": "PUSH2", - "value": "0x128A" - }, - "4739": { - "op": "DUP5" - }, - "4740": { - "op": "PUSH1", - "value": "0x2" - }, - "4742": { - "op": "PUSH2", - "value": "0x1D3F" - }, - "4745": { - "jump": "i", - "op": "JUMP" - }, - "4746": { - "op": "JUMPDEST" - }, - "4747": { - "op": "PUSH2", - "value": "0x1295" - }, - "4750": { - "op": "SWAP1" - }, - "4751": { - "op": "PUSH1", - "value": "0x1" - }, - "4753": { - "op": "PUSH2", - "value": "0x1C06" - }, - "4756": { - "jump": "i", - "op": "JUMP" - }, - "4757": { - "op": "JUMPDEST" - }, - "4758": { - "op": "SWAP1" - }, - "4759": { - "op": "POP" - }, - "4760": { - "op": "JUMPDEST" - }, - "4761": { - "op": "PUSH1", - "value": "0x1" - }, - "4763": { - "op": "DUP2" - }, - "4764": { - "op": "GT" - }, - "4765": { - "op": "ISZERO" - }, - "4766": { - "op": "PUSH2", - "value": "0x130D" - }, - "4769": { - "op": "JUMPI" - }, - "4770": { - "op": "PUSH16", - "value": "0x181899199A1A9B1B9C1CB0B131B232B3" - }, - "4787": { - "op": "PUSH1", - "value": "0x81" - }, - "4789": { - "op": "SHL" - }, - "4790": { - "op": "DUP6" - }, - "4791": { - "op": "PUSH1", - "value": "0xF" - }, - "4793": { - "op": "AND" - }, - "4794": { - "op": "PUSH1", - "value": "0x10" - }, - "4796": { - "op": "DUP2" - }, - "4797": { - "op": "LT" - }, - "4798": { - "op": "PUSH2", - "value": "0x12C9" - }, - "4801": { - "op": "JUMPI" - }, - "4802": { - "op": "PUSH2", - "value": "0x12C9" - }, - "4805": { - "op": "PUSH2", - "value": "0x1A2E" - }, - "4808": { - "jump": "i", - "op": "JUMP" - }, - "4809": { - "op": "JUMPDEST" - }, - "4810": { - "op": "BYTE" - }, - "4811": { - "op": "PUSH1", - "value": "0xF8" - }, - "4813": { - "op": "SHL" - }, - "4814": { - "op": "DUP3" - }, - "4815": { - "op": "DUP3" - }, - "4816": { - "op": "DUP2" - }, - "4817": { - "op": "MLOAD" - }, - "4818": { - "op": "DUP2" - }, - "4819": { - "op": "LT" - }, - "4820": { - "op": "PUSH2", - "value": "0x12DF" - }, - "4823": { - "op": "JUMPI" - }, - "4824": { - "op": "PUSH2", - "value": "0x12DF" - }, - "4827": { - "op": "PUSH2", - "value": "0x1A2E" - }, - "4830": { - "jump": "i", - "op": "JUMP" - }, - "4831": { - "op": "JUMPDEST" - }, - "4832": { - "op": "PUSH1", - "value": "0x20" - }, - "4834": { - "op": "ADD" - }, - "4835": { - "op": "ADD" - }, - "4836": { - "op": "SWAP1" - }, - "4837": { - "op": "PUSH1", - "value": "0x1" - }, - "4839": { - "op": "PUSH1", - "value": "0x1" - }, - "4841": { - "op": "PUSH1", - "value": "0xF8" - }, - "4843": { - "op": "SHL" - }, - "4844": { - "op": "SUB" - }, - "4845": { - "op": "NOT" - }, - "4846": { - "op": "AND" - }, - "4847": { - "op": "SWAP1" - }, - "4848": { - "op": "DUP2" - }, - "4849": { - "op": "PUSH1", - "value": "0x0" - }, - "4851": { - "op": "BYTE" - }, - "4852": { - "op": "SWAP1" - }, - "4853": { - "op": "MSTORE8" - }, - "4854": { - "op": "POP" - }, - "4855": { - "op": "PUSH1", - "value": "0x4" - }, - "4857": { - "op": "SWAP5" - }, - "4858": { - "op": "SWAP1" - }, - "4859": { - "op": "SWAP5" - }, - "4860": { - "op": "SHR" - }, - "4861": { - "op": "SWAP4" - }, - "4862": { - "op": "PUSH2", - "value": "0x1306" - }, - "4865": { - "op": "DUP2" - }, - "4866": { - "op": "PUSH2", - "value": "0x1D56" - }, - "4869": { - "jump": "i", - "op": "JUMP" - }, - "4870": { - "op": "JUMPDEST" - }, - "4871": { - "op": "SWAP1" - }, - "4872": { - "op": "POP" - }, - "4873": { - "op": "PUSH2", - "value": "0x1298" - }, - "4876": { - "op": "JUMP" - }, - "4877": { - "op": "JUMPDEST" - }, - "4878": { - "op": "POP" - }, - "4879": { - "op": "DUP4" - }, - "4880": { - "op": "ISZERO" - }, - "4881": { - "op": "PUSH2", - "value": "0x78A" - }, - "4884": { - "op": "JUMPI" - }, - "4885": { - "op": "PUSH1", - "value": "0x40" - }, - "4887": { - "op": "MLOAD" - }, - "4888": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "4892": { - "op": "PUSH1", - "value": "0xE5" - }, - "4894": { - "op": "SHL" - }, - "4895": { - "op": "DUP2" - }, - "4896": { - "op": "MSTORE" - }, - "4897": { - "op": "PUSH1", - "value": "0x20" - }, - "4899": { - "op": "PUSH1", - "value": "0x4" - }, - "4901": { - "op": "DUP3" - }, - "4902": { - "op": "ADD" - }, - "4903": { - "op": "DUP2" - }, - "4904": { - "op": "SWAP1" - }, - "4905": { - "op": "MSTORE" - }, - "4906": { - "op": "PUSH1", - "value": "0x24" - }, - "4908": { - "op": "DUP3" - }, - "4909": { - "op": "ADD" - }, - "4910": { - "op": "MSTORE" - }, - "4911": { - "op": "PUSH32", - "value": "0x537472696E67733A20686578206C656E67746820696E73756666696369656E74" - }, - "4944": { - "op": "PUSH1", - "value": "0x44" - }, - "4946": { - "op": "DUP3" - }, - "4947": { - "op": "ADD" - }, - "4948": { - "op": "MSTORE" - }, - "4949": { - "op": "PUSH1", - "value": "0x64" - }, - "4951": { - "op": "ADD" - }, - "4952": { - "op": "PUSH2", - "value": "0x840" - }, - "4955": { - "op": "JUMP" - }, - "4956": { - "op": "JUMPDEST" - }, - "4957": { - "op": "DUP1" - }, - "4958": { - "op": "CALLDATALOAD" - }, - "4959": { - "op": "PUSH1", - "value": "0x1" - }, - "4961": { - "op": "PUSH1", - "value": "0x1" - }, - "4963": { - "op": "PUSH1", - "value": "0xA0" - }, - "4965": { - "op": "SHL" - }, - "4966": { - "op": "SUB" - }, - "4967": { - "op": "DUP2" - }, - "4968": { - "op": "AND" - }, - "4969": { - "op": "DUP2" - }, - "4970": { - "op": "EQ" - }, - "4971": { - "op": "PUSH2", - "value": "0x1373" - }, - "4974": { - "op": "JUMPI" - }, - "4975": { - "op": "PUSH1", - "value": "0x0" - }, - "4977": { - "op": "DUP1" - }, - "4978": { - "op": "REVERT" - }, - "4979": { - "op": "JUMPDEST" - }, - "4980": { - "op": "SWAP2" - }, - "4981": { - "op": "SWAP1" - }, - "4982": { - "op": "POP" - }, - "4983": { - "jump": "o", - "op": "JUMP" - }, - "4984": { - "op": "JUMPDEST" - }, - "4985": { - "op": "PUSH1", - "value": "0x0" - }, - "4987": { - "op": "DUP1" - }, - "4988": { - "op": "DUP4" - }, - "4989": { - "op": "PUSH1", - "value": "0x1F" - }, - "4991": { - "op": "DUP5" - }, - "4992": { - "op": "ADD" - }, - "4993": { - "op": "SLT" - }, - "4994": { - "op": "PUSH2", - "value": "0x138A" - }, - "4997": { - "op": "JUMPI" - }, - "4998": { - "op": "PUSH1", - "value": "0x0" - }, - "5000": { - "op": "DUP1" - }, - "5001": { - "op": "REVERT" - }, - "5002": { - "op": "JUMPDEST" - }, - "5003": { - "op": "POP" - }, - "5004": { - "op": "DUP2" - }, - "5005": { - "op": "CALLDATALOAD" - }, - "5006": { - "op": "PUSH1", - "value": "0x1" - }, - "5008": { - "op": "PUSH1", - "value": "0x1" - }, - "5010": { - "op": "PUSH1", - "value": "0x40" - }, - "5012": { - "op": "SHL" - }, - "5013": { - "op": "SUB" - }, - "5014": { - "op": "DUP2" - }, - "5015": { - "op": "GT" - }, - "5016": { - "op": "ISZERO" - }, - "5017": { - "op": "PUSH2", - "value": "0x13A1" - }, - "5020": { - "op": "JUMPI" - }, - "5021": { - "op": "PUSH1", - "value": "0x0" - }, - "5023": { - "op": "DUP1" - }, - "5024": { - "op": "REVERT" - }, - "5025": { - "op": "JUMPDEST" - }, - "5026": { - "op": "PUSH1", - "value": "0x20" - }, - "5028": { - "op": "DUP4" - }, - "5029": { - "op": "ADD" - }, - "5030": { - "op": "SWAP2" - }, - "5031": { - "op": "POP" - }, - "5032": { - "op": "DUP4" - }, - "5033": { - "op": "PUSH1", - "value": "0x20" - }, - "5035": { - "op": "DUP3" - }, - "5036": { - "op": "DUP6" - }, - "5037": { - "op": "ADD" - }, - "5038": { - "op": "ADD" - }, - "5039": { - "op": "GT" - }, - "5040": { - "op": "ISZERO" - }, - "5041": { - "op": "PUSH2", - "value": "0x13B9" - }, - "5044": { - "op": "JUMPI" - }, - "5045": { - "op": "PUSH1", - "value": "0x0" - }, - "5047": { - "op": "DUP1" - }, - "5048": { - "op": "REVERT" - }, - "5049": { - "op": "JUMPDEST" - }, - "5050": { - "op": "SWAP3" - }, - "5051": { - "op": "POP" - }, - "5052": { - "op": "SWAP3" - }, - "5053": { - "op": "SWAP1" - }, - "5054": { - "op": "POP" - }, - "5055": { - "jump": "o", - "op": "JUMP" - }, - "5056": { - "op": "JUMPDEST" - }, - "5057": { - "op": "PUSH1", - "value": "0x0" - }, - "5059": { - "op": "DUP1" - }, - "5060": { - "op": "PUSH1", - "value": "0x0" - }, - "5062": { - "op": "DUP1" - }, - "5063": { - "op": "PUSH1", - "value": "0x0" - }, - "5065": { - "op": "DUP1" - }, - "5066": { - "op": "PUSH1", - "value": "0x0" - }, - "5068": { - "op": "PUSH1", - "value": "0xC0" - }, - "5070": { - "op": "DUP9" - }, - "5071": { - "op": "DUP11" - }, - "5072": { - "op": "SUB" - }, - "5073": { - "op": "SLT" - }, - "5074": { - "op": "ISZERO" - }, - "5075": { - "op": "PUSH2", - "value": "0x13DB" - }, - "5078": { - "op": "JUMPI" - }, - "5079": { - "op": "PUSH1", - "value": "0x0" - }, - "5081": { - "op": "DUP1" - }, - "5082": { - "op": "REVERT" - }, - "5083": { - "op": "JUMPDEST" - }, - "5084": { - "op": "PUSH2", - "value": "0x13E4" - }, - "5087": { - "op": "DUP9" - }, - "5088": { - "op": "PUSH2", - "value": "0x135C" - }, - "5091": { - "jump": "i", - "op": "JUMP" - }, - "5092": { - "op": "JUMPDEST" - }, - "5093": { - "op": "SWAP7" - }, - "5094": { - "op": "POP" - }, - "5095": { - "op": "PUSH1", - "value": "0x20" - }, - "5097": { - "op": "DUP9" - }, - "5098": { - "op": "ADD" - }, - "5099": { - "op": "CALLDATALOAD" - }, - "5100": { - "op": "SWAP6" - }, - "5101": { - "op": "POP" - }, - "5102": { - "op": "PUSH1", - "value": "0x40" - }, - "5104": { - "op": "DUP9" - }, - "5105": { - "op": "ADD" - }, - "5106": { - "op": "CALLDATALOAD" - }, - "5107": { - "op": "PUSH1", - "value": "0x1" - }, - "5109": { - "op": "PUSH1", - "value": "0x1" - }, - "5111": { - "op": "PUSH1", - "value": "0x40" - }, - "5113": { - "op": "SHL" - }, - "5114": { - "op": "SUB" - }, - "5115": { - "op": "DUP2" - }, - "5116": { - "op": "GT" - }, - "5117": { - "op": "ISZERO" - }, - "5118": { - "op": "PUSH2", - "value": "0x1406" - }, - "5121": { - "op": "JUMPI" - }, - "5122": { - "op": "PUSH1", - "value": "0x0" - }, - "5124": { - "op": "DUP1" - }, - "5125": { - "op": "REVERT" - }, - "5126": { - "op": "JUMPDEST" - }, - "5127": { - "op": "PUSH2", - "value": "0x1412" - }, - "5130": { - "op": "DUP11" - }, - "5131": { - "op": "DUP3" - }, - "5132": { - "op": "DUP12" - }, - "5133": { - "op": "ADD" - }, - "5134": { - "op": "PUSH2", - "value": "0x1378" - }, - "5137": { - "jump": "i", - "op": "JUMP" - }, - "5138": { - "op": "JUMPDEST" - }, - "5139": { - "op": "SWAP9" - }, - "5140": { - "op": "SWAP12" - }, - "5141": { - "op": "SWAP8" - }, - "5142": { - "op": "SWAP11" - }, - "5143": { - "op": "POP" - }, - "5144": { - "op": "SWAP9" - }, - "5145": { - "op": "PUSH1", - "value": "0x60" - }, - "5147": { - "op": "DUP2" - }, - "5148": { - "op": "ADD" - }, - "5149": { - "op": "CALLDATALOAD" - }, - "5150": { - "op": "SWAP8" - }, - "5151": { - "op": "PUSH1", - "value": "0x80" - }, - "5153": { - "op": "DUP3" - }, - "5154": { - "op": "ADD" - }, - "5155": { - "op": "CALLDATALOAD" - }, - "5156": { - "op": "SWAP8" - }, - "5157": { - "op": "POP" - }, - "5158": { - "op": "PUSH1", - "value": "0xA0" - }, - "5160": { - "op": "SWAP1" - }, - "5161": { - "op": "SWAP2" - }, - "5162": { - "op": "ADD" - }, - "5163": { - "op": "CALLDATALOAD" - }, - "5164": { - "op": "SWAP6" - }, - "5165": { - "op": "POP" - }, - "5166": { - "op": "SWAP4" - }, - "5167": { - "op": "POP" - }, - "5168": { - "op": "POP" - }, - "5169": { - "op": "POP" - }, - "5170": { - "op": "POP" - }, - "5171": { - "jump": "o", - "op": "JUMP" - }, - "5172": { - "op": "JUMPDEST" - }, - "5173": { - "op": "PUSH1", - "value": "0x0" - }, - "5175": { - "op": "PUSH1", - "value": "0x20" - }, - "5177": { - "op": "DUP3" - }, - "5178": { - "op": "DUP5" - }, - "5179": { - "op": "SUB" - }, - "5180": { - "op": "SLT" - }, - "5181": { - "op": "ISZERO" - }, - "5182": { - "op": "PUSH2", - "value": "0x1446" - }, - "5185": { - "op": "JUMPI" - }, - "5186": { - "op": "PUSH1", - "value": "0x0" - }, - "5188": { - "op": "DUP1" - }, - "5189": { - "op": "REVERT" - }, - "5190": { - "op": "JUMPDEST" - }, - "5191": { - "op": "DUP2" - }, - "5192": { - "op": "CALLDATALOAD" - }, - "5193": { - "op": "PUSH1", - "value": "0x1" - }, - "5195": { - "op": "PUSH1", - "value": "0x1" - }, - "5197": { - "op": "PUSH1", - "value": "0xE0" - }, - "5199": { - "op": "SHL" - }, - "5200": { - "op": "SUB" - }, - "5201": { - "op": "NOT" - }, - "5202": { - "op": "DUP2" - }, - "5203": { - "op": "AND" - }, - "5204": { - "op": "DUP2" - }, - "5205": { - "op": "EQ" - }, - "5206": { - "op": "PUSH2", - "value": "0x78A" - }, - "5209": { - "op": "JUMPI" - }, - "5210": { - "op": "PUSH1", - "value": "0x0" - }, - "5212": { - "op": "DUP1" - }, - "5213": { - "op": "REVERT" - }, - "5214": { - "op": "JUMPDEST" - }, - "5215": { - "op": "PUSH1", - "value": "0x0" - }, - "5217": { - "op": "DUP1" - }, - "5218": { - "op": "PUSH1", - "value": "0x0" - }, - "5220": { - "op": "DUP1" - }, - "5221": { - "op": "PUSH1", - "value": "0x0" - }, - "5223": { - "op": "DUP1" - }, - "5224": { - "op": "PUSH1", - "value": "0xA0" - }, - "5226": { - "op": "DUP8" - }, - "5227": { - "op": "DUP10" - }, - "5228": { - "op": "SUB" - }, - "5229": { - "op": "SLT" - }, - "5230": { - "op": "ISZERO" - }, - "5231": { - "op": "PUSH2", - "value": "0x1477" - }, - "5234": { - "op": "JUMPI" - }, - "5235": { - "op": "PUSH1", - "value": "0x0" - }, - "5237": { - "op": "DUP1" - }, - "5238": { - "op": "REVERT" - }, - "5239": { - "op": "JUMPDEST" - }, - "5240": { - "op": "PUSH2", - "value": "0x1480" - }, - "5243": { - "op": "DUP8" - }, - "5244": { - "op": "PUSH2", - "value": "0x135C" - }, - "5247": { - "jump": "i", - "op": "JUMP" - }, - "5248": { - "op": "JUMPDEST" - }, - "5249": { - "op": "SWAP6" - }, - "5250": { - "op": "POP" - }, - "5251": { - "op": "PUSH1", - "value": "0x20" - }, - "5253": { - "op": "DUP8" - }, - "5254": { - "op": "ADD" - }, - "5255": { - "op": "CALLDATALOAD" - }, - "5256": { - "op": "SWAP5" - }, - "5257": { - "op": "POP" - }, - "5258": { - "op": "PUSH1", - "value": "0x40" - }, - "5260": { - "op": "DUP8" - }, - "5261": { - "op": "ADD" - }, - "5262": { - "op": "CALLDATALOAD" - }, - "5263": { - "op": "PUSH1", - "value": "0x1" - }, - "5265": { - "op": "PUSH1", - "value": "0x1" - }, - "5267": { - "op": "PUSH1", - "value": "0x40" - }, - "5269": { - "op": "SHL" - }, - "5270": { - "op": "SUB" - }, - "5271": { - "op": "DUP2" - }, - "5272": { - "op": "GT" - }, - "5273": { - "op": "ISZERO" - }, - "5274": { - "op": "PUSH2", - "value": "0x14A2" - }, - "5277": { - "op": "JUMPI" - }, - "5278": { - "op": "PUSH1", - "value": "0x0" - }, - "5280": { - "op": "DUP1" - }, - "5281": { - "op": "REVERT" - }, - "5282": { - "op": "JUMPDEST" - }, - "5283": { - "op": "PUSH2", - "value": "0x14AE" - }, - "5286": { - "op": "DUP10" - }, - "5287": { - "op": "DUP3" - }, - "5288": { - "op": "DUP11" - }, - "5289": { - "op": "ADD" - }, - "5290": { - "op": "PUSH2", - "value": "0x1378" - }, - "5293": { - "jump": "i", - "op": "JUMP" - }, - "5294": { - "op": "JUMPDEST" - }, - "5295": { - "op": "SWAP8" - }, - "5296": { - "op": "SWAP11" - }, - "5297": { - "op": "SWAP7" - }, - "5298": { - "op": "SWAP10" - }, - "5299": { - "op": "POP" - }, - "5300": { - "op": "SWAP8" - }, - "5301": { - "op": "PUSH1", - "value": "0x60" - }, - "5303": { - "op": "DUP2" - }, - "5304": { - "op": "ADD" - }, - "5305": { - "op": "CALLDATALOAD" - }, - "5306": { - "op": "SWAP7" - }, - "5307": { - "op": "PUSH1", - "value": "0x80" - }, - "5309": { - "op": "SWAP1" - }, - "5310": { - "op": "SWAP2" - }, - "5311": { - "op": "ADD" - }, - "5312": { - "op": "CALLDATALOAD" - }, - "5313": { - "op": "SWAP6" - }, - "5314": { - "op": "POP" - }, - "5315": { - "op": "SWAP4" - }, - "5316": { - "op": "POP" - }, - "5317": { - "op": "POP" - }, - "5318": { - "op": "POP" - }, - "5319": { - "op": "POP" - }, - "5320": { - "jump": "o", - "op": "JUMP" - }, - "5321": { - "op": "JUMPDEST" - }, - "5322": { - "op": "PUSH1", - "value": "0x0" - }, - "5324": { - "op": "PUSH1", - "value": "0x20" - }, - "5326": { - "op": "DUP3" - }, - "5327": { - "op": "DUP5" - }, - "5328": { - "op": "SUB" - }, - "5329": { - "op": "SLT" - }, - "5330": { - "op": "ISZERO" - }, - "5331": { - "op": "PUSH2", - "value": "0x14DB" - }, - "5334": { - "op": "JUMPI" - }, - "5335": { - "op": "PUSH1", - "value": "0x0" - }, - "5337": { - "op": "DUP1" - }, - "5338": { - "op": "REVERT" - }, - "5339": { - "op": "JUMPDEST" - }, - "5340": { - "op": "POP" - }, - "5341": { - "op": "CALLDATALOAD" - }, - "5342": { - "op": "SWAP2" - }, - "5343": { - "op": "SWAP1" - }, - "5344": { - "op": "POP" - }, - "5345": { - "jump": "o", - "op": "JUMP" - }, - "5346": { - "op": "JUMPDEST" - }, - "5347": { - "op": "PUSH4", - "value": "0x4E487B71" - }, - "5352": { - "op": "PUSH1", - "value": "0xE0" - }, - "5354": { - "op": "SHL" - }, - "5355": { - "op": "PUSH1", - "value": "0x0" - }, - "5357": { - "op": "MSTORE" - }, - "5358": { - "op": "PUSH1", - "value": "0x41" - }, - "5360": { - "op": "PUSH1", - "value": "0x4" - }, - "5362": { - "op": "MSTORE" - }, - "5363": { - "op": "PUSH1", - "value": "0x24" - }, - "5365": { - "op": "PUSH1", - "value": "0x0" - }, - "5367": { - "op": "REVERT" - }, - "5368": { - "op": "JUMPDEST" - }, - "5369": { - "op": "PUSH1", - "value": "0x40" - }, - "5371": { - "op": "MLOAD" - }, - "5372": { - "op": "PUSH1", - "value": "0x1F" - }, - "5374": { - "op": "DUP3" - }, - "5375": { - "op": "ADD" - }, - "5376": { - "op": "PUSH1", - "value": "0x1F" - }, - "5378": { - "op": "NOT" - }, - "5379": { - "op": "AND" - }, - "5380": { - "op": "DUP2" - }, - "5381": { - "op": "ADD" - }, - "5382": { - "op": "PUSH1", - "value": "0x1" - }, - "5384": { - "op": "PUSH1", - "value": "0x1" - }, - "5386": { - "op": "PUSH1", - "value": "0x40" - }, - "5388": { - "op": "SHL" - }, - "5389": { - "op": "SUB" - }, - "5390": { - "op": "DUP2" - }, - "5391": { - "op": "GT" - }, - "5392": { - "op": "DUP3" - }, - "5393": { - "op": "DUP3" - }, - "5394": { - "op": "LT" - }, - "5395": { - "op": "OR" - }, - "5396": { - "op": "ISZERO" - }, - "5397": { - "op": "PUSH2", - "value": "0x1520" - }, - "5400": { - "op": "JUMPI" - }, - "5401": { - "op": "PUSH2", - "value": "0x1520" - }, - "5404": { - "op": "PUSH2", - "value": "0x14E2" - }, - "5407": { - "jump": "i", - "op": "JUMP" - }, - "5408": { - "op": "JUMPDEST" - }, - "5409": { - "op": "PUSH1", - "value": "0x40" - }, - "5411": { - "op": "MSTORE" - }, - "5412": { - "op": "SWAP2" - }, - "5413": { - "op": "SWAP1" - }, - "5414": { - "op": "POP" - }, - "5415": { - "jump": "o", - "op": "JUMP" - }, - "5416": { - "op": "JUMPDEST" - }, - "5417": { - "op": "PUSH1", - "value": "0x0" - }, - "5419": { - "op": "DUP3" - }, - "5420": { - "op": "PUSH1", - "value": "0x1F" - }, - "5422": { - "op": "DUP4" - }, - "5423": { - "op": "ADD" - }, - "5424": { - "op": "SLT" - }, - "5425": { - "op": "PUSH2", - "value": "0x1539" - }, - "5428": { - "op": "JUMPI" - }, - "5429": { - "op": "PUSH1", - "value": "0x0" - }, - "5431": { - "op": "DUP1" - }, - "5432": { - "op": "REVERT" - }, - "5433": { - "op": "JUMPDEST" - }, - "5434": { - "op": "DUP2" - }, - "5435": { - "op": "CALLDATALOAD" - }, - "5436": { - "op": "PUSH1", - "value": "0x1" - }, - "5438": { - "op": "PUSH1", - "value": "0x1" - }, - "5440": { - "op": "PUSH1", - "value": "0x40" - }, - "5442": { - "op": "SHL" - }, - "5443": { - "op": "SUB" - }, - "5444": { - "op": "DUP2" - }, - "5445": { - "op": "GT" - }, - "5446": { - "op": "ISZERO" - }, - "5447": { - "op": "PUSH2", - "value": "0x1552" - }, - "5450": { - "op": "JUMPI" - }, - "5451": { - "op": "PUSH2", - "value": "0x1552" - }, - "5454": { - "op": "PUSH2", - "value": "0x14E2" - }, - "5457": { - "jump": "i", - "op": "JUMP" - }, - "5458": { - "op": "JUMPDEST" - }, - "5459": { - "op": "PUSH2", - "value": "0x1565" - }, - "5462": { - "op": "PUSH1", - "value": "0x1F" - }, - "5464": { - "op": "DUP3" - }, - "5465": { - "op": "ADD" - }, - "5466": { - "op": "PUSH1", - "value": "0x1F" - }, - "5468": { - "op": "NOT" - }, - "5469": { - "op": "AND" - }, - "5470": { - "op": "PUSH1", - "value": "0x20" - }, - "5472": { - "op": "ADD" - }, - "5473": { - "op": "PUSH2", - "value": "0x14F8" - }, - "5476": { - "jump": "i", - "op": "JUMP" - }, - "5477": { - "op": "JUMPDEST" - }, - "5478": { - "op": "DUP2" - }, - "5479": { - "op": "DUP2" - }, - "5480": { - "op": "MSTORE" - }, - "5481": { - "op": "DUP5" - }, - "5482": { - "op": "PUSH1", - "value": "0x20" - }, - "5484": { - "op": "DUP4" - }, - "5485": { - "op": "DUP7" - }, - "5486": { - "op": "ADD" - }, - "5487": { - "op": "ADD" - }, - "5488": { - "op": "GT" - }, - "5489": { - "op": "ISZERO" - }, - "5490": { - "op": "PUSH2", - "value": "0x157A" - }, - "5493": { - "op": "JUMPI" - }, - "5494": { - "op": "PUSH1", - "value": "0x0" - }, - "5496": { - "op": "DUP1" - }, - "5497": { - "op": "REVERT" - }, - "5498": { - "op": "JUMPDEST" - }, - "5499": { - "op": "DUP2" - }, - "5500": { - "op": "PUSH1", - "value": "0x20" - }, - "5502": { - "op": "DUP6" - }, - "5503": { - "op": "ADD" - }, - "5504": { - "op": "PUSH1", - "value": "0x20" - }, - "5506": { - "op": "DUP4" - }, - "5507": { - "op": "ADD" - }, - "5508": { - "op": "CALLDATACOPY" - }, - "5509": { - "op": "PUSH1", - "value": "0x0" - }, - "5511": { - "op": "SWAP2" - }, - "5512": { - "op": "DUP2" - }, - "5513": { - "op": "ADD" - }, - "5514": { - "op": "PUSH1", - "value": "0x20" - }, - "5516": { - "op": "ADD" - }, - "5517": { - "op": "SWAP2" - }, - "5518": { - "op": "SWAP1" - }, - "5519": { - "op": "SWAP2" - }, - "5520": { - "op": "MSTORE" - }, - "5521": { - "op": "SWAP4" - }, - "5522": { - "op": "SWAP3" - }, - "5523": { - "op": "POP" - }, - "5524": { - "op": "POP" - }, - "5525": { - "op": "POP" - }, - "5526": { - "jump": "o", - "op": "JUMP" - }, - "5527": { - "op": "JUMPDEST" - }, - "5528": { - "op": "PUSH1", - "value": "0x0" - }, - "5530": { - "op": "DUP1" - }, - "5531": { - "op": "PUSH1", - "value": "0x0" - }, - "5533": { - "op": "DUP1" - }, - "5534": { - "op": "PUSH1", - "value": "0x80" - }, - "5536": { - "op": "DUP6" - }, - "5537": { - "op": "DUP8" - }, - "5538": { - "op": "SUB" - }, - "5539": { - "op": "SLT" - }, - "5540": { - "op": "ISZERO" - }, - "5541": { - "op": "PUSH2", - "value": "0x15AD" - }, - "5544": { - "op": "JUMPI" - }, - "5545": { - "op": "PUSH1", - "value": "0x0" - }, - "5547": { - "op": "DUP1" - }, - "5548": { - "op": "REVERT" - }, - "5549": { - "op": "JUMPDEST" - }, - "5550": { - "op": "PUSH2", - "value": "0x15B6" - }, - "5553": { - "op": "DUP6" - }, - "5554": { - "op": "PUSH2", - "value": "0x135C" - }, - "5557": { - "jump": "i", - "op": "JUMP" - }, - "5558": { - "op": "JUMPDEST" - }, - "5559": { - "op": "SWAP4" - }, - "5560": { - "op": "POP" - }, - "5561": { - "op": "PUSH2", - "value": "0x15C4" - }, - "5564": { - "op": "PUSH1", - "value": "0x20" - }, - "5566": { - "op": "DUP7" - }, - "5567": { - "op": "ADD" - }, - "5568": { - "op": "PUSH2", - "value": "0x135C" - }, - "5571": { - "jump": "i", - "op": "JUMP" - }, - "5572": { - "op": "JUMPDEST" - }, - "5573": { - "op": "SWAP3" - }, - "5574": { - "op": "POP" - }, - "5575": { - "op": "PUSH1", - "value": "0x40" - }, - "5577": { - "op": "DUP6" - }, - "5578": { - "op": "ADD" - }, - "5579": { - "op": "CALLDATALOAD" - }, - "5580": { - "op": "SWAP2" - }, - "5581": { - "op": "POP" - }, - "5582": { - "op": "PUSH1", - "value": "0x60" - }, - "5584": { - "op": "DUP6" - }, - "5585": { - "op": "ADD" - }, - "5586": { - "op": "CALLDATALOAD" - }, - "5587": { - "op": "PUSH1", - "value": "0x1" - }, - "5589": { - "op": "PUSH1", - "value": "0x1" - }, - "5591": { - "op": "PUSH1", - "value": "0x40" - }, - "5593": { - "op": "SHL" - }, - "5594": { - "op": "SUB" - }, - "5595": { - "op": "DUP2" - }, - "5596": { - "op": "GT" - }, - "5597": { - "op": "ISZERO" - }, - "5598": { - "op": "PUSH2", - "value": "0x15E6" - }, - "5601": { - "op": "JUMPI" - }, - "5602": { - "op": "PUSH1", - "value": "0x0" - }, - "5604": { - "op": "DUP1" - }, - "5605": { - "op": "REVERT" - }, - "5606": { - "op": "JUMPDEST" - }, - "5607": { - "op": "PUSH2", - "value": "0x15F2" - }, - "5610": { - "op": "DUP8" - }, - "5611": { - "op": "DUP3" - }, - "5612": { - "op": "DUP9" - }, - "5613": { - "op": "ADD" - }, - "5614": { - "op": "PUSH2", - "value": "0x1528" - }, - "5617": { - "jump": "i", - "op": "JUMP" - }, - "5618": { - "op": "JUMPDEST" - }, - "5619": { - "op": "SWAP2" - }, - "5620": { - "op": "POP" - }, - "5621": { - "op": "POP" - }, - "5622": { - "op": "SWAP3" - }, - "5623": { - "op": "SWAP6" - }, - "5624": { - "op": "SWAP2" - }, - "5625": { - "op": "SWAP5" - }, - "5626": { - "op": "POP" - }, - "5627": { - "op": "SWAP3" - }, - "5628": { - "op": "POP" - }, - "5629": { - "jump": "o", - "op": "JUMP" - }, - "5630": { - "op": "JUMPDEST" - }, - "5631": { - "op": "PUSH1", - "value": "0x0" - }, - "5633": { - "op": "DUP1" - }, - "5634": { - "op": "PUSH1", - "value": "0x40" - }, - "5636": { - "op": "DUP4" - }, - "5637": { - "op": "DUP6" - }, - "5638": { - "op": "SUB" - }, - "5639": { - "op": "SLT" - }, - "5640": { - "op": "ISZERO" - }, - "5641": { - "op": "PUSH2", - "value": "0x1611" - }, - "5644": { - "op": "JUMPI" - }, - "5645": { - "op": "PUSH1", - "value": "0x0" - }, - "5647": { - "op": "DUP1" - }, - "5648": { - "op": "REVERT" - }, - "5649": { - "op": "JUMPDEST" - }, - "5650": { - "op": "DUP3" - }, - "5651": { - "op": "CALLDATALOAD" - }, - "5652": { - "op": "SWAP2" - }, - "5653": { - "op": "POP" - }, - "5654": { - "op": "PUSH2", - "value": "0x1621" - }, - "5657": { - "op": "PUSH1", - "value": "0x20" - }, - "5659": { - "op": "DUP5" - }, - "5660": { - "op": "ADD" - }, - "5661": { - "op": "PUSH2", - "value": "0x135C" - }, - "5664": { - "jump": "i", - "op": "JUMP" - }, - "5665": { - "op": "JUMPDEST" - }, - "5666": { - "op": "SWAP1" - }, - "5667": { - "op": "POP" - }, - "5668": { - "op": "SWAP3" - }, - "5669": { - "op": "POP" - }, - "5670": { - "op": "SWAP3" - }, - "5671": { - "op": "SWAP1" - }, - "5672": { - "op": "POP" - }, - "5673": { - "jump": "o", - "op": "JUMP" - }, - "5674": { - "op": "JUMPDEST" - }, - "5675": { - "op": "PUSH1", - "value": "0x0" - }, - "5677": { - "op": "DUP1" - }, - "5678": { - "op": "DUP4" - }, - "5679": { - "op": "PUSH1", - "value": "0x1F" - }, - "5681": { - "op": "DUP5" - }, - "5682": { - "op": "ADD" - }, - "5683": { - "op": "SLT" - }, - "5684": { - "op": "PUSH2", - "value": "0x163C" - }, - "5687": { - "op": "JUMPI" - }, - "5688": { - "op": "PUSH1", - "value": "0x0" - }, - "5690": { - "op": "DUP1" - }, - "5691": { - "op": "REVERT" - }, - "5692": { - "op": "JUMPDEST" - }, - "5693": { - "op": "POP" - }, - "5694": { - "op": "DUP2" - }, - "5695": { - "op": "CALLDATALOAD" - }, - "5696": { - "op": "PUSH1", - "value": "0x1" - }, - "5698": { - "op": "PUSH1", - "value": "0x1" - }, - "5700": { - "op": "PUSH1", - "value": "0x40" - }, - "5702": { - "op": "SHL" - }, - "5703": { - "op": "SUB" - }, - "5704": { - "op": "DUP2" - }, - "5705": { - "op": "GT" - }, - "5706": { - "op": "ISZERO" - }, - "5707": { - "op": "PUSH2", - "value": "0x1653" - }, - "5710": { - "op": "JUMPI" - }, - "5711": { - "op": "PUSH1", - "value": "0x0" - }, - "5713": { - "op": "DUP1" - }, - "5714": { - "op": "REVERT" - }, - "5715": { - "op": "JUMPDEST" - }, - "5716": { - "op": "PUSH1", - "value": "0x20" - }, - "5718": { - "op": "DUP4" - }, - "5719": { - "op": "ADD" - }, - "5720": { - "op": "SWAP2" - }, - "5721": { - "op": "POP" - }, - "5722": { - "op": "DUP4" - }, - "5723": { - "op": "PUSH1", - "value": "0x20" - }, - "5725": { - "op": "DUP3" - }, - "5726": { - "op": "PUSH1", - "value": "0x5" - }, - "5728": { - "op": "SHL" - }, - "5729": { - "op": "DUP6" - }, - "5730": { - "op": "ADD" - }, - "5731": { - "op": "ADD" - }, - "5732": { - "op": "GT" - }, - "5733": { - "op": "ISZERO" - }, - "5734": { - "op": "PUSH2", - "value": "0x13B9" - }, - "5737": { - "op": "JUMPI" - }, - "5738": { - "op": "PUSH1", - "value": "0x0" - }, - "5740": { - "op": "DUP1" - }, - "5741": { - "op": "REVERT" - }, - "5742": { - "op": "JUMPDEST" - }, - "5743": { - "op": "PUSH1", - "value": "0x0" - }, - "5745": { - "op": "DUP1" - }, - "5746": { - "op": "PUSH1", - "value": "0x0" - }, - "5748": { - "op": "DUP1" - }, - "5749": { - "op": "PUSH1", - "value": "0x0" - }, - "5751": { - "op": "DUP1" - }, - "5752": { - "op": "PUSH1", - "value": "0x0" - }, - "5754": { - "op": "DUP1" - }, - "5755": { - "op": "PUSH1", - "value": "0x0" - }, - "5757": { - "op": "PUSH1", - "value": "0xC0" - }, - "5759": { - "op": "DUP11" - }, - "5760": { - "op": "DUP13" - }, - "5761": { - "op": "SUB" - }, - "5762": { - "op": "SLT" - }, - "5763": { - "op": "ISZERO" - }, - "5764": { - "op": "PUSH2", - "value": "0x168C" - }, - "5767": { - "op": "JUMPI" - }, - "5768": { - "op": "PUSH1", - "value": "0x0" - }, - "5770": { - "op": "DUP1" - }, - "5771": { - "op": "REVERT" - }, - "5772": { - "op": "JUMPDEST" - }, - "5773": { - "op": "DUP10" - }, - "5774": { - "op": "CALLDATALOAD" - }, - "5775": { - "op": "PUSH1", - "value": "0x1" - }, - "5777": { - "op": "PUSH1", - "value": "0x1" - }, - "5779": { - "op": "PUSH1", - "value": "0x40" - }, - "5781": { - "op": "SHL" - }, - "5782": { - "op": "SUB" - }, - "5783": { - "op": "DUP1" - }, - "5784": { - "op": "DUP3" - }, - "5785": { - "op": "GT" - }, - "5786": { - "op": "ISZERO" - }, - "5787": { - "op": "PUSH2", - "value": "0x16A3" - }, - "5790": { - "op": "JUMPI" - }, - "5791": { - "op": "PUSH1", - "value": "0x0" - }, - "5793": { - "op": "DUP1" - }, - "5794": { - "op": "REVERT" - }, - "5795": { - "op": "JUMPDEST" - }, - "5796": { - "op": "PUSH2", - "value": "0x16AF" - }, - "5799": { - "op": "DUP14" - }, - "5800": { - "op": "DUP4" - }, - "5801": { - "op": "DUP15" - }, - "5802": { - "op": "ADD" - }, - "5803": { - "op": "PUSH2", - "value": "0x162A" - }, - "5806": { - "jump": "i", - "op": "JUMP" - }, - "5807": { - "op": "JUMPDEST" - }, - "5808": { - "op": "SWAP1" - }, - "5809": { - "op": "SWAP12" - }, - "5810": { - "op": "POP" - }, - "5811": { - "op": "SWAP10" - }, - "5812": { - "op": "POP" - }, - "5813": { - "op": "PUSH1", - "value": "0x20" - }, - "5815": { - "op": "DUP13" - }, - "5816": { - "op": "ADD" - }, - "5817": { - "op": "CALLDATALOAD" - }, - "5818": { - "op": "SWAP2" - }, - "5819": { - "op": "POP" - }, - "5820": { - "op": "DUP1" - }, - "5821": { - "op": "DUP3" - }, - "5822": { - "op": "GT" - }, - "5823": { - "op": "ISZERO" - }, - "5824": { - "op": "PUSH2", - "value": "0x16C8" - }, - "5827": { - "op": "JUMPI" - }, - "5828": { - "op": "PUSH1", - "value": "0x0" - }, - "5830": { - "op": "DUP1" - }, - "5831": { - "op": "REVERT" - }, - "5832": { - "op": "JUMPDEST" - }, - "5833": { - "op": "PUSH2", - "value": "0x16D4" - }, - "5836": { - "op": "DUP14" - }, - "5837": { - "op": "DUP4" - }, - "5838": { - "op": "DUP15" - }, - "5839": { - "op": "ADD" - }, - "5840": { - "op": "PUSH2", - "value": "0x162A" - }, - "5843": { - "jump": "i", - "op": "JUMP" - }, - "5844": { - "op": "JUMPDEST" - }, - "5845": { - "op": "SWAP1" - }, - "5846": { - "op": "SWAP10" - }, - "5847": { - "op": "POP" - }, - "5848": { - "op": "SWAP8" - }, - "5849": { - "op": "POP" - }, - "5850": { - "op": "PUSH1", - "value": "0x40" - }, - "5852": { - "op": "DUP13" - }, - "5853": { - "op": "ADD" - }, - "5854": { - "op": "CALLDATALOAD" - }, - "5855": { - "op": "SWAP2" - }, - "5856": { - "op": "POP" - }, - "5857": { - "op": "DUP1" - }, - "5858": { - "op": "DUP3" - }, - "5859": { - "op": "GT" - }, - "5860": { - "op": "ISZERO" - }, - "5861": { - "op": "PUSH2", - "value": "0x16ED" - }, - "5864": { - "op": "JUMPI" - }, - "5865": { - "op": "PUSH1", - "value": "0x0" - }, - "5867": { - "op": "DUP1" - }, - "5868": { - "op": "REVERT" - }, - "5869": { - "op": "JUMPDEST" - }, - "5870": { - "op": "POP" - }, - "5871": { - "op": "PUSH2", - "value": "0x16FA" - }, - "5874": { - "op": "DUP13" - }, - "5875": { - "op": "DUP3" - }, - "5876": { - "op": "DUP14" - }, - "5877": { - "op": "ADD" - }, - "5878": { - "op": "PUSH2", - "value": "0x162A" - }, - "5881": { - "jump": "i", - "op": "JUMP" - }, - "5882": { - "op": "JUMPDEST" - }, - "5883": { - "op": "SWAP11" - }, - "5884": { - "op": "SWAP14" - }, - "5885": { - "op": "SWAP10" - }, - "5886": { - "op": "SWAP13" - }, - "5887": { - "op": "POP" - }, - "5888": { - "op": "SWAP8" - }, - "5889": { - "op": "SWAP11" - }, - "5890": { - "op": "SWAP7" - }, - "5891": { - "op": "SWAP10" - }, - "5892": { - "op": "SWAP8" - }, - "5893": { - "op": "SWAP9" - }, - "5894": { - "op": "PUSH1", - "value": "0x60" - }, - "5896": { - "op": "DUP9" - }, - "5897": { - "op": "ADD" - }, - "5898": { - "op": "CALLDATALOAD" - }, - "5899": { - "op": "SWAP8" - }, - "5900": { - "op": "PUSH1", - "value": "0x80" - }, - "5902": { - "op": "DUP2" - }, - "5903": { - "op": "ADD" - }, - "5904": { - "op": "CALLDATALOAD" - }, - "5905": { - "op": "SWAP8" - }, - "5906": { - "op": "POP" - }, - "5907": { - "op": "PUSH1", - "value": "0xA0" - }, - "5909": { - "op": "ADD" - }, - "5910": { - "op": "CALLDATALOAD" - }, - "5911": { - "op": "SWAP6" - }, - "5912": { - "op": "POP" - }, - "5913": { - "op": "SWAP4" - }, - "5914": { - "op": "POP" - }, - "5915": { - "op": "POP" - }, - "5916": { - "op": "POP" - }, - "5917": { - "op": "POP" - }, - "5918": { - "jump": "o", - "op": "JUMP" - }, - "5919": { - "op": "JUMPDEST" - }, - "5920": { - "op": "PUSH1", - "value": "0x0" - }, - "5922": { - "op": "DUP1" - }, - "5923": { - "op": "PUSH1", - "value": "0x0" - }, - "5925": { - "op": "DUP1" - }, - "5926": { - "op": "PUSH1", - "value": "0x0" - }, - "5928": { - "op": "DUP1" - }, - "5929": { - "op": "PUSH1", - "value": "0x0" - }, - "5931": { - "op": "DUP1" - }, - "5932": { - "op": "PUSH1", - "value": "0xA0" - }, - "5934": { - "op": "DUP10" - }, - "5935": { - "op": "DUP12" - }, - "5936": { - "op": "SUB" - }, - "5937": { - "op": "SLT" - }, - "5938": { - "op": "ISZERO" - }, - "5939": { - "op": "PUSH2", - "value": "0x173B" - }, - "5942": { - "op": "JUMPI" - }, - "5943": { - "op": "PUSH1", - "value": "0x0" - }, - "5945": { - "op": "DUP1" - }, - "5946": { - "op": "REVERT" - }, - "5947": { - "op": "JUMPDEST" - }, - "5948": { - "op": "DUP9" - }, - "5949": { - "op": "CALLDATALOAD" - }, - "5950": { - "op": "PUSH1", - "value": "0x1" - }, - "5952": { - "op": "PUSH1", - "value": "0x1" - }, - "5954": { - "op": "PUSH1", - "value": "0x40" - }, - "5956": { - "op": "SHL" - }, - "5957": { - "op": "SUB" - }, - "5958": { - "op": "DUP1" - }, - "5959": { - "op": "DUP3" - }, - "5960": { - "op": "GT" - }, - "5961": { - "op": "ISZERO" - }, - "5962": { - "op": "PUSH2", - "value": "0x1752" - }, - "5965": { - "op": "JUMPI" - }, - "5966": { - "op": "PUSH1", - "value": "0x0" - }, - "5968": { - "op": "DUP1" - }, - "5969": { - "op": "REVERT" - }, - "5970": { - "op": "JUMPDEST" - }, - "5971": { - "op": "PUSH2", - "value": "0x175E" - }, - "5974": { - "op": "DUP13" - }, - "5975": { - "op": "DUP4" - }, - "5976": { - "op": "DUP14" - }, - "5977": { - "op": "ADD" - }, - "5978": { - "op": "PUSH2", - "value": "0x162A" - }, - "5981": { - "jump": "i", - "op": "JUMP" - }, - "5982": { - "op": "JUMPDEST" - }, - "5983": { - "op": "SWAP1" - }, - "5984": { - "op": "SWAP11" - }, - "5985": { - "op": "POP" - }, - "5986": { - "op": "SWAP9" - }, - "5987": { - "op": "POP" - }, - "5988": { - "op": "PUSH1", - "value": "0x20" - }, - "5990": { - "op": "DUP12" - }, - "5991": { - "op": "ADD" - }, - "5992": { - "op": "CALLDATALOAD" - }, - "5993": { - "op": "SWAP2" - }, - "5994": { - "op": "POP" - }, - "5995": { - "op": "DUP1" - }, - "5996": { - "op": "DUP3" - }, - "5997": { - "op": "GT" - }, - "5998": { - "op": "ISZERO" - }, - "5999": { - "op": "PUSH2", - "value": "0x1777" - }, - "6002": { - "op": "JUMPI" - }, - "6003": { - "op": "PUSH1", - "value": "0x0" - }, - "6005": { - "op": "DUP1" - }, - "6006": { - "op": "REVERT" - }, - "6007": { - "op": "JUMPDEST" - }, - "6008": { - "op": "PUSH2", - "value": "0x1783" - }, - "6011": { - "op": "DUP13" - }, - "6012": { - "op": "DUP4" - }, - "6013": { - "op": "DUP14" - }, - "6014": { - "op": "ADD" - }, - "6015": { - "op": "PUSH2", - "value": "0x162A" - }, - "6018": { - "jump": "i", - "op": "JUMP" - }, - "6019": { - "op": "JUMPDEST" - }, - "6020": { - "op": "SWAP1" - }, - "6021": { - "op": "SWAP9" - }, - "6022": { - "op": "POP" - }, - "6023": { - "op": "SWAP7" - }, - "6024": { - "op": "POP" - }, - "6025": { - "op": "PUSH1", - "value": "0x40" - }, - "6027": { - "op": "DUP12" - }, - "6028": { - "op": "ADD" - }, - "6029": { - "op": "CALLDATALOAD" - }, - "6030": { - "op": "SWAP2" - }, - "6031": { - "op": "POP" - }, - "6032": { - "op": "DUP1" - }, - "6033": { - "op": "DUP3" - }, - "6034": { - "op": "GT" - }, - "6035": { - "op": "ISZERO" - }, - "6036": { - "op": "PUSH2", - "value": "0x179C" - }, - "6039": { - "op": "JUMPI" - }, - "6040": { - "op": "PUSH1", - "value": "0x0" - }, - "6042": { - "op": "DUP1" - }, - "6043": { - "op": "REVERT" - }, - "6044": { - "op": "JUMPDEST" - }, - "6045": { - "op": "POP" - }, - "6046": { - "op": "PUSH2", - "value": "0x17A9" - }, - "6049": { - "op": "DUP12" - }, - "6050": { - "op": "DUP3" - }, - "6051": { - "op": "DUP13" - }, - "6052": { - "op": "ADD" - }, - "6053": { - "op": "PUSH2", - "value": "0x162A" - }, - "6056": { - "jump": "i", - "op": "JUMP" - }, - "6057": { - "op": "JUMPDEST" - }, - "6058": { - "op": "SWAP10" - }, - "6059": { - "op": "SWAP13" - }, - "6060": { - "op": "SWAP9" - }, - "6061": { - "op": "SWAP12" - }, - "6062": { - "op": "POP" - }, - "6063": { - "op": "SWAP7" - }, - "6064": { - "op": "SWAP10" - }, - "6065": { - "op": "SWAP6" - }, - "6066": { - "op": "SWAP9" - }, - "6067": { - "op": "SWAP7" - }, - "6068": { - "op": "SWAP8" - }, - "6069": { - "op": "PUSH1", - "value": "0x60" - }, - "6071": { - "op": "DUP8" - }, - "6072": { - "op": "ADD" - }, - "6073": { - "op": "CALLDATALOAD" - }, - "6074": { - "op": "SWAP7" - }, - "6075": { - "op": "PUSH1", - "value": "0x80" - }, - "6077": { - "op": "ADD" - }, - "6078": { - "op": "CALLDATALOAD" - }, - "6079": { - "op": "SWAP6" - }, - "6080": { - "op": "POP" - }, - "6081": { - "op": "SWAP4" - }, - "6082": { - "op": "POP" - }, - "6083": { - "op": "POP" - }, - "6084": { - "op": "POP" - }, - "6085": { - "op": "POP" - }, - "6086": { - "jump": "o", - "op": "JUMP" - }, - "6087": { - "op": "JUMPDEST" - }, - "6088": { - "op": "PUSH1", - "value": "0x0" - }, - "6090": { - "op": "DUP3" - }, - "6091": { - "op": "PUSH1", - "value": "0x1F" - }, - "6093": { - "op": "DUP4" - }, - "6094": { - "op": "ADD" - }, - "6095": { - "op": "SLT" - }, - "6096": { - "op": "PUSH2", - "value": "0x17D8" - }, - "6099": { - "op": "JUMPI" - }, - "6100": { - "op": "PUSH1", - "value": "0x0" - }, - "6102": { - "op": "DUP1" - }, - "6103": { - "op": "REVERT" - }, - "6104": { - "op": "JUMPDEST" - }, - "6105": { - "op": "DUP2" - }, - "6106": { - "op": "CALLDATALOAD" - }, - "6107": { - "op": "PUSH1", - "value": "0x20" - }, - "6109": { - "op": "PUSH1", - "value": "0x1" - }, - "6111": { - "op": "PUSH1", - "value": "0x1" - }, - "6113": { - "op": "PUSH1", - "value": "0x40" - }, - "6115": { - "op": "SHL" - }, - "6116": { - "op": "SUB" - }, - "6117": { - "op": "DUP3" - }, - "6118": { - "op": "GT" - }, - "6119": { - "op": "ISZERO" - }, - "6120": { - "op": "PUSH2", - "value": "0x17F3" - }, - "6123": { - "op": "JUMPI" - }, - "6124": { - "op": "PUSH2", - "value": "0x17F3" - }, - "6127": { - "op": "PUSH2", - "value": "0x14E2" - }, - "6130": { - "jump": "i", - "op": "JUMP" - }, - "6131": { - "op": "JUMPDEST" - }, - "6132": { - "op": "DUP2" - }, - "6133": { - "op": "PUSH1", - "value": "0x5" - }, - "6135": { - "op": "SHL" - }, - "6136": { - "op": "PUSH2", - "value": "0x1802" - }, - "6139": { - "op": "DUP3" - }, - "6140": { - "op": "DUP3" - }, - "6141": { - "op": "ADD" - }, - "6142": { - "op": "PUSH2", - "value": "0x14F8" - }, - "6145": { - "jump": "i", - "op": "JUMP" - }, - "6146": { - "op": "JUMPDEST" - }, - "6147": { - "op": "SWAP3" - }, - "6148": { - "op": "DUP4" - }, - "6149": { - "op": "MSTORE" - }, - "6150": { - "op": "DUP5" - }, - "6151": { - "op": "DUP2" - }, - "6152": { - "op": "ADD" - }, - "6153": { - "op": "DUP3" - }, - "6154": { - "op": "ADD" - }, - "6155": { - "op": "SWAP3" - }, - "6156": { - "op": "DUP3" - }, - "6157": { - "op": "DUP2" - }, - "6158": { - "op": "ADD" - }, - "6159": { - "op": "SWAP1" - }, - "6160": { - "op": "DUP8" - }, - "6161": { - "op": "DUP6" - }, - "6162": { - "op": "GT" - }, - "6163": { - "op": "ISZERO" - }, - "6164": { - "op": "PUSH2", - "value": "0x181C" - }, - "6167": { - "op": "JUMPI" - }, - "6168": { - "op": "PUSH1", - "value": "0x0" - }, - "6170": { - "op": "DUP1" - }, - "6171": { - "op": "REVERT" - }, - "6172": { - "op": "JUMPDEST" - }, - "6173": { - "op": "DUP4" - }, - "6174": { - "op": "DUP8" - }, - "6175": { - "op": "ADD" - }, - "6176": { - "op": "SWAP3" - }, - "6177": { - "op": "POP" - }, - "6178": { - "op": "JUMPDEST" - }, - "6179": { - "op": "DUP5" - }, - "6180": { - "op": "DUP4" - }, - "6181": { - "op": "LT" - }, - "6182": { - "op": "ISZERO" - }, - "6183": { - "op": "PUSH2", - "value": "0x183B" - }, - "6186": { - "op": "JUMPI" - }, - "6187": { - "op": "DUP3" - }, - "6188": { - "op": "CALLDATALOAD" - }, - "6189": { - "op": "DUP3" - }, - "6190": { - "op": "MSTORE" - }, - "6191": { - "op": "SWAP2" - }, - "6192": { - "op": "DUP4" - }, - "6193": { - "op": "ADD" - }, - "6194": { - "op": "SWAP2" - }, - "6195": { - "op": "SWAP1" - }, - "6196": { - "op": "DUP4" - }, - "6197": { - "op": "ADD" - }, - "6198": { - "op": "SWAP1" - }, - "6199": { - "op": "PUSH2", - "value": "0x1822" - }, - "6202": { - "op": "JUMP" - }, - "6203": { - "op": "JUMPDEST" - }, - "6204": { - "op": "SWAP8" - }, - "6205": { - "op": "SWAP7" - }, - "6206": { - "op": "POP" - }, - "6207": { - "op": "POP" - }, - "6208": { - "op": "POP" - }, - "6209": { - "op": "POP" - }, - "6210": { - "op": "POP" - }, - "6211": { - "op": "POP" - }, - "6212": { - "op": "POP" - }, - "6213": { - "jump": "o", - "op": "JUMP" - }, - "6214": { - "op": "JUMPDEST" - }, - "6215": { - "op": "PUSH1", - "value": "0x0" - }, - "6217": { - "op": "DUP1" - }, - "6218": { - "op": "PUSH1", - "value": "0x0" - }, - "6220": { - "op": "DUP1" - }, - "6221": { - "op": "PUSH1", - "value": "0x0" - }, - "6223": { - "op": "PUSH1", - "value": "0xA0" - }, - "6225": { - "op": "DUP7" - }, - "6226": { - "op": "DUP9" - }, - "6227": { - "op": "SUB" - }, - "6228": { - "op": "SLT" - }, - "6229": { - "op": "ISZERO" - }, - "6230": { - "op": "PUSH2", - "value": "0x185E" - }, - "6233": { - "op": "JUMPI" - }, - "6234": { - "op": "PUSH1", - "value": "0x0" - }, - "6236": { - "op": "DUP1" - }, - "6237": { - "op": "REVERT" - }, - "6238": { - "op": "JUMPDEST" - }, - "6239": { - "op": "PUSH2", - "value": "0x1867" - }, - "6242": { - "op": "DUP7" - }, - "6243": { - "op": "PUSH2", - "value": "0x135C" - }, - "6246": { - "jump": "i", - "op": "JUMP" - }, - "6247": { - "op": "JUMPDEST" - }, - "6248": { - "op": "SWAP5" - }, - "6249": { - "op": "POP" - }, - "6250": { - "op": "PUSH2", - "value": "0x1875" - }, - "6253": { - "op": "PUSH1", - "value": "0x20" - }, - "6255": { - "op": "DUP8" - }, - "6256": { - "op": "ADD" - }, - "6257": { - "op": "PUSH2", - "value": "0x135C" - }, - "6260": { - "jump": "i", - "op": "JUMP" - }, - "6261": { - "op": "JUMPDEST" - }, - "6262": { - "op": "SWAP4" - }, - "6263": { - "op": "POP" - }, - "6264": { - "op": "PUSH1", - "value": "0x40" - }, - "6266": { - "op": "DUP7" - }, - "6267": { - "op": "ADD" - }, - "6268": { - "op": "CALLDATALOAD" - }, - "6269": { - "op": "PUSH1", - "value": "0x1" - }, - "6271": { - "op": "PUSH1", - "value": "0x1" - }, - "6273": { - "op": "PUSH1", - "value": "0x40" - }, - "6275": { - "op": "SHL" - }, - "6276": { - "op": "SUB" - }, - "6277": { - "op": "DUP1" - }, - "6278": { - "op": "DUP3" - }, - "6279": { - "op": "GT" - }, - "6280": { - "op": "ISZERO" - }, - "6281": { - "op": "PUSH2", - "value": "0x1891" - }, - "6284": { - "op": "JUMPI" - }, - "6285": { - "op": "PUSH1", - "value": "0x0" - }, - "6287": { - "op": "DUP1" - }, - "6288": { - "op": "REVERT" - }, - "6289": { - "op": "JUMPDEST" - }, - "6290": { - "op": "PUSH2", - "value": "0x189D" - }, - "6293": { - "op": "DUP10" - }, - "6294": { - "op": "DUP4" - }, - "6295": { - "op": "DUP11" - }, - "6296": { - "op": "ADD" - }, - "6297": { - "op": "PUSH2", - "value": "0x17C7" - }, - "6300": { - "jump": "i", - "op": "JUMP" - }, - "6301": { - "op": "JUMPDEST" - }, - "6302": { - "op": "SWAP5" - }, - "6303": { - "op": "POP" - }, - "6304": { - "op": "PUSH1", - "value": "0x60" - }, - "6306": { - "op": "DUP9" - }, - "6307": { - "op": "ADD" - }, - "6308": { - "op": "CALLDATALOAD" - }, - "6309": { - "op": "SWAP2" - }, - "6310": { - "op": "POP" - }, - "6311": { - "op": "DUP1" - }, - "6312": { - "op": "DUP3" - }, - "6313": { - "op": "GT" - }, - "6314": { - "op": "ISZERO" - }, - "6315": { - "op": "PUSH2", - "value": "0x18B3" - }, - "6318": { - "op": "JUMPI" - }, - "6319": { - "op": "PUSH1", - "value": "0x0" - }, - "6321": { - "op": "DUP1" - }, - "6322": { - "op": "REVERT" - }, - "6323": { - "op": "JUMPDEST" - }, - "6324": { - "op": "PUSH2", - "value": "0x18BF" - }, - "6327": { - "op": "DUP10" - }, - "6328": { - "op": "DUP4" - }, - "6329": { - "op": "DUP11" - }, - "6330": { - "op": "ADD" - }, - "6331": { - "op": "PUSH2", - "value": "0x17C7" - }, - "6334": { - "jump": "i", - "op": "JUMP" - }, - "6335": { - "op": "JUMPDEST" - }, - "6336": { - "op": "SWAP4" - }, - "6337": { - "op": "POP" - }, - "6338": { - "op": "PUSH1", - "value": "0x80" - }, - "6340": { - "op": "DUP9" - }, - "6341": { - "op": "ADD" - }, - "6342": { - "op": "CALLDATALOAD" - }, - "6343": { - "op": "SWAP2" - }, - "6344": { - "op": "POP" - }, - "6345": { - "op": "DUP1" - }, - "6346": { - "op": "DUP3" - }, - "6347": { - "op": "GT" - }, - "6348": { - "op": "ISZERO" - }, - "6349": { - "op": "PUSH2", - "value": "0x18D5" - }, - "6352": { - "op": "JUMPI" - }, - "6353": { - "op": "PUSH1", - "value": "0x0" - }, - "6355": { - "op": "DUP1" - }, - "6356": { - "op": "REVERT" - }, - "6357": { - "op": "JUMPDEST" - }, - "6358": { - "op": "POP" - }, - "6359": { - "op": "PUSH2", - "value": "0x18E2" - }, - "6362": { - "op": "DUP9" - }, - "6363": { - "op": "DUP3" - }, - "6364": { - "op": "DUP10" - }, - "6365": { - "op": "ADD" - }, - "6366": { - "op": "PUSH2", - "value": "0x1528" - }, - "6369": { - "jump": "i", - "op": "JUMP" - }, - "6370": { - "op": "JUMPDEST" - }, - "6371": { - "op": "SWAP2" - }, - "6372": { - "op": "POP" - }, - "6373": { - "op": "POP" - }, - "6374": { - "op": "SWAP3" - }, - "6375": { - "op": "SWAP6" - }, - "6376": { - "op": "POP" - }, - "6377": { - "op": "SWAP3" - }, - "6378": { - "op": "SWAP6" - }, - "6379": { - "op": "SWAP1" - }, - "6380": { - "op": "SWAP4" - }, - "6381": { - "op": "POP" - }, - "6382": { - "jump": "o", - "op": "JUMP" - }, - "6383": { - "op": "JUMPDEST" - }, - "6384": { - "op": "PUSH1", - "value": "0x0" - }, - "6386": { - "op": "DUP1" - }, - "6387": { - "op": "PUSH1", - "value": "0x0" - }, - "6389": { - "op": "DUP1" - }, - "6390": { - "op": "PUSH1", - "value": "0x0" - }, - "6392": { - "op": "PUSH1", - "value": "0xA0" - }, - "6394": { - "op": "DUP7" - }, - "6395": { - "op": "DUP9" - }, - "6396": { - "op": "SUB" - }, - "6397": { - "op": "SLT" - }, - "6398": { - "op": "ISZERO" - }, - "6399": { - "op": "PUSH2", - "value": "0x1907" - }, - "6402": { - "op": "JUMPI" - }, - "6403": { - "op": "PUSH1", - "value": "0x0" - }, - "6405": { - "op": "DUP1" - }, - "6406": { - "op": "REVERT" - }, - "6407": { - "op": "JUMPDEST" - }, - "6408": { - "op": "PUSH2", - "value": "0x1910" - }, - "6411": { - "op": "DUP7" - }, - "6412": { - "op": "PUSH2", - "value": "0x135C" - }, - "6415": { - "jump": "i", - "op": "JUMP" - }, - "6416": { - "op": "JUMPDEST" - }, - "6417": { - "op": "SWAP5" - }, - "6418": { - "op": "POP" - }, - "6419": { - "op": "PUSH2", - "value": "0x191E" - }, - "6422": { - "op": "PUSH1", - "value": "0x20" - }, - "6424": { - "op": "DUP8" - }, - "6425": { - "op": "ADD" - }, - "6426": { - "op": "PUSH2", - "value": "0x135C" - }, - "6429": { - "jump": "i", - "op": "JUMP" - }, - "6430": { - "op": "JUMPDEST" - }, - "6431": { - "op": "SWAP4" - }, - "6432": { - "op": "POP" - }, - "6433": { - "op": "PUSH1", - "value": "0x40" - }, - "6435": { - "op": "DUP7" - }, - "6436": { - "op": "ADD" - }, - "6437": { - "op": "CALLDATALOAD" - }, - "6438": { - "op": "SWAP3" - }, - "6439": { - "op": "POP" - }, - "6440": { - "op": "PUSH1", - "value": "0x60" - }, - "6442": { - "op": "DUP7" - }, - "6443": { - "op": "ADD" - }, - "6444": { - "op": "CALLDATALOAD" - }, - "6445": { - "op": "SWAP2" - }, - "6446": { - "op": "POP" - }, - "6447": { - "op": "PUSH1", - "value": "0x80" - }, - "6449": { - "op": "DUP7" - }, - "6450": { - "op": "ADD" - }, - "6451": { - "op": "CALLDATALOAD" - }, - "6452": { - "op": "PUSH1", - "value": "0x1" - }, - "6454": { - "op": "PUSH1", - "value": "0x1" - }, - "6456": { - "op": "PUSH1", - "value": "0x40" - }, - "6458": { - "op": "SHL" - }, - "6459": { - "op": "SUB" - }, - "6460": { - "op": "DUP2" - }, - "6461": { - "op": "GT" - }, - "6462": { - "op": "ISZERO" - }, - "6463": { - "op": "PUSH2", - "value": "0x1947" - }, - "6466": { - "op": "JUMPI" - }, - "6467": { - "op": "PUSH1", - "value": "0x0" - }, - "6469": { - "op": "DUP1" - }, - "6470": { - "op": "REVERT" - }, - "6471": { - "op": "JUMPDEST" - }, - "6472": { - "op": "PUSH2", - "value": "0x18E2" - }, - "6475": { - "op": "DUP9" - }, - "6476": { - "op": "DUP3" - }, - "6477": { - "op": "DUP10" - }, - "6478": { - "op": "ADD" - }, - "6479": { - "op": "PUSH2", - "value": "0x1528" - }, - "6482": { - "jump": "i", - "op": "JUMP" - }, - "6483": { - "op": "JUMPDEST" - }, - "6484": { - "op": "DUP2" - }, - "6485": { - "op": "DUP4" - }, - "6486": { - "op": "MSTORE" - }, - "6487": { - "op": "DUP2" - }, - "6488": { - "op": "DUP2" - }, - "6489": { - "op": "PUSH1", - "value": "0x20" - }, - "6491": { - "op": "DUP6" - }, - "6492": { - "op": "ADD" - }, - "6493": { - "op": "CALLDATACOPY" - }, - "6494": { - "op": "POP" - }, - "6495": { - "op": "PUSH1", - "value": "0x0" - }, - "6497": { - "op": "DUP3" - }, - "6498": { - "op": "DUP3" - }, - "6499": { - "op": "ADD" - }, - "6500": { - "op": "PUSH1", - "value": "0x20" - }, - "6502": { - "op": "SWAP1" - }, - "6503": { - "op": "DUP2" - }, - "6504": { - "op": "ADD" - }, - "6505": { - "op": "SWAP2" - }, - "6506": { - "op": "SWAP1" - }, - "6507": { - "op": "SWAP2" - }, - "6508": { - "op": "MSTORE" - }, - "6509": { - "op": "PUSH1", - "value": "0x1F" - }, - "6511": { - "op": "SWAP1" - }, - "6512": { - "op": "SWAP2" - }, - "6513": { - "op": "ADD" - }, - "6514": { - "op": "PUSH1", - "value": "0x1F" - }, - "6516": { - "op": "NOT" - }, - "6517": { - "op": "AND" - }, - "6518": { - "op": "SWAP1" - }, - "6519": { - "op": "SWAP2" - }, - "6520": { - "op": "ADD" - }, - "6521": { - "op": "ADD" - }, - "6522": { - "op": "SWAP1" - }, - "6523": { - "jump": "o", - "op": "JUMP" - }, - "6524": { - "op": "JUMPDEST" - }, - "6525": { - "op": "PUSH1", - "value": "0x1" - }, - "6527": { - "op": "DUP1" - }, - "6528": { - "op": "PUSH1", - "value": "0xA0" - }, - "6530": { - "op": "SHL" - }, - "6531": { - "op": "SUB" - }, - "6532": { - "op": "DUP8" - }, - "6533": { - "op": "AND" - }, - "6534": { - "op": "DUP2" - }, - "6535": { - "op": "MSTORE" - }, - "6536": { - "op": "DUP6" - }, - "6537": { - "op": "PUSH1", - "value": "0x20" - }, - "6539": { - "op": "DUP3" - }, - "6540": { - "op": "ADD" - }, - "6541": { - "op": "MSTORE" - }, - "6542": { - "op": "PUSH1", - "value": "0xA0" - }, - "6544": { - "op": "PUSH1", - "value": "0x40" - }, - "6546": { - "op": "DUP3" - }, - "6547": { - "op": "ADD" - }, - "6548": { - "op": "MSTORE" - }, - "6549": { - "op": "PUSH1", - "value": "0x0" - }, - "6551": { - "op": "PUSH2", - "value": "0x19A4" - }, - "6554": { - "op": "PUSH1", - "value": "0xA0" - }, - "6556": { - "op": "DUP4" - }, - "6557": { - "op": "ADD" - }, - "6558": { - "op": "DUP7" - }, - "6559": { - "op": "DUP9" - }, - "6560": { - "op": "PUSH2", - "value": "0x1953" - }, - "6563": { - "jump": "i", - "op": "JUMP" - }, - "6564": { - "op": "JUMPDEST" - }, - "6565": { - "op": "PUSH1", - "value": "0x60" - }, - "6567": { - "op": "DUP4" - }, - "6568": { - "op": "ADD" - }, - "6569": { - "op": "SWAP5" - }, - "6570": { - "op": "SWAP1" - }, - "6571": { - "op": "SWAP5" - }, - "6572": { - "op": "MSTORE" - }, - "6573": { - "op": "POP" - }, - "6574": { - "op": "PUSH1", - "value": "0x80" - }, - "6576": { - "op": "ADD" - }, - "6577": { - "op": "MSTORE" - }, - "6578": { - "op": "SWAP5" - }, - "6579": { - "op": "SWAP4" - }, - "6580": { - "op": "POP" - }, - "6581": { - "op": "POP" - }, - "6582": { - "op": "POP" - }, - "6583": { - "op": "POP" - }, - "6584": { - "jump": "o", - "op": "JUMP" - }, - "6585": { - "op": "JUMPDEST" - }, - "6586": { - "op": "PUSH1", - "value": "0x1" - }, - "6588": { - "op": "DUP1" - }, - "6589": { - "op": "PUSH1", - "value": "0xA0" - }, - "6591": { - "op": "SHL" - }, - "6592": { - "op": "SUB" - }, - "6593": { - "op": "DUP6" - }, - "6594": { - "op": "AND" - }, - "6595": { - "op": "DUP2" - }, - "6596": { - "op": "MSTORE" - }, - "6597": { - "op": "DUP4" - }, - "6598": { - "op": "PUSH1", - "value": "0x20" - }, - "6600": { - "op": "DUP3" - }, - "6601": { - "op": "ADD" - }, - "6602": { - "op": "MSTORE" - }, - "6603": { - "op": "PUSH1", - "value": "0x60" - }, - "6605": { - "op": "PUSH1", - "value": "0x40" - }, - "6607": { - "op": "DUP3" - }, - "6608": { - "op": "ADD" - }, - "6609": { - "op": "MSTORE" - }, - "6610": { - "op": "PUSH1", - "value": "0x0" - }, - "6612": { - "op": "PUSH2", - "value": "0x19E1" - }, - "6615": { - "op": "PUSH1", - "value": "0x60" - }, - "6617": { - "op": "DUP4" - }, - "6618": { - "op": "ADD" - }, - "6619": { - "op": "DUP5" - }, - "6620": { - "op": "DUP7" - }, - "6621": { - "op": "PUSH2", - "value": "0x1953" - }, - "6624": { - "jump": "i", - "op": "JUMP" - }, - "6625": { - "op": "JUMPDEST" - }, - "6626": { - "op": "SWAP7" - }, - "6627": { - "op": "SWAP6" - }, - "6628": { - "op": "POP" - }, - "6629": { - "op": "POP" - }, - "6630": { - "op": "POP" - }, - "6631": { - "op": "POP" - }, - "6632": { - "op": "POP" - }, - "6633": { - "op": "POP" - }, - "6634": { - "jump": "o", - "op": "JUMP" - }, - "6635": { - "op": "JUMPDEST" - }, - "6636": { - "op": "PUSH1", - "value": "0x20" - }, - "6638": { - "op": "DUP1" - }, - "6639": { - "op": "DUP3" - }, - "6640": { - "op": "MSTORE" - }, - "6641": { - "op": "PUSH1", - "value": "0x23" - }, - "6643": { - "op": "SWAP1" - }, - "6644": { - "op": "DUP3" - }, - "6645": { - "op": "ADD" - }, - "6646": { - "op": "MSTORE" - }, - "6647": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A206C656E677468206D69736D61" - }, - "6680": { - "op": "PUSH1", - "value": "0x40" - }, - "6682": { - "op": "DUP3" - }, - "6683": { - "op": "ADD" - }, - "6684": { - "op": "MSTORE" - }, - "6685": { - "op": "PUSH3", - "value": "0xE8C6D" - }, - "6689": { - "op": "PUSH1", - "value": "0xEB" - }, - "6691": { - "op": "SHL" - }, - "6692": { - "op": "PUSH1", - "value": "0x60" - }, - "6694": { - "op": "DUP3" - }, - "6695": { - "op": "ADD" - }, - "6696": { - "op": "MSTORE" - }, - "6697": { - "op": "PUSH1", - "value": "0x80" - }, - "6699": { - "op": "ADD" - }, - "6700": { - "op": "SWAP1" - }, - "6701": { - "jump": "o", - "op": "JUMP" - }, - "6702": { - "op": "JUMPDEST" - }, - "6703": { - "op": "PUSH4", - "value": "0x4E487B71" - }, - "6708": { - "op": "PUSH1", - "value": "0xE0" - }, - "6710": { - "op": "SHL" - }, - "6711": { - "op": "PUSH1", - "value": "0x0" - }, - "6713": { - "op": "MSTORE" - }, - "6714": { - "op": "PUSH1", - "value": "0x32" - }, - "6716": { - "op": "PUSH1", - "value": "0x4" - }, - "6718": { - "op": "MSTORE" - }, - "6719": { - "op": "PUSH1", - "value": "0x24" - }, - "6721": { - "op": "PUSH1", - "value": "0x0" - }, - "6723": { - "op": "REVERT" - }, - "6724": { - "op": "JUMPDEST" - }, - "6725": { - "op": "PUSH1", - "value": "0x0" - }, - "6727": { - "op": "PUSH1", - "value": "0x20" - }, - "6729": { - "op": "DUP3" - }, - "6730": { - "op": "DUP5" - }, - "6731": { - "op": "SUB" - }, - "6732": { - "op": "SLT" - }, - "6733": { - "op": "ISZERO" - }, - "6734": { - "op": "PUSH2", - "value": "0x1A56" - }, - "6737": { - "op": "JUMPI" - }, - "6738": { - "op": "PUSH1", - "value": "0x0" - }, - "6740": { - "op": "DUP1" - }, - "6741": { - "op": "REVERT" - }, - "6742": { - "op": "JUMPDEST" - }, - "6743": { - "op": "PUSH2", - "value": "0x78A" - }, - "6746": { - "op": "DUP3" - }, - "6747": { - "op": "PUSH2", - "value": "0x135C" - }, - "6750": { - "jump": "i", - "op": "JUMP" - }, - "6751": { - "op": "JUMPDEST" - }, - "6752": { - "op": "PUSH1", - "value": "0x0" - }, - "6754": { - "op": "DUP1" - }, - "6755": { - "op": "DUP4" - }, - "6756": { - "op": "CALLDATALOAD" - }, - "6757": { - "op": "PUSH1", - "value": "0x1E" - }, - "6759": { - "op": "NOT" - }, - "6760": { - "op": "DUP5" - }, - "6761": { - "op": "CALLDATASIZE" - }, - "6762": { - "op": "SUB" - }, - "6763": { - "op": "ADD" - }, - "6764": { - "op": "DUP2" - }, - "6765": { - "op": "SLT" - }, - "6766": { - "op": "PUSH2", - "value": "0x1A76" - }, - "6769": { - "op": "JUMPI" - }, - "6770": { - "op": "PUSH1", - "value": "0x0" - }, - "6772": { - "op": "DUP1" - }, - "6773": { - "op": "REVERT" - }, - "6774": { - "op": "JUMPDEST" - }, - "6775": { - "op": "DUP4" - }, - "6776": { - "op": "ADD" - }, - "6777": { - "op": "DUP1" - }, - "6778": { - "op": "CALLDATALOAD" - }, - "6779": { - "op": "SWAP2" - }, - "6780": { - "op": "POP" - }, - "6781": { - "op": "PUSH1", - "value": "0x1" - }, - "6783": { - "op": "PUSH1", - "value": "0x1" - }, - "6785": { - "op": "PUSH1", - "value": "0x40" - }, - "6787": { - "op": "SHL" - }, - "6788": { - "op": "SUB" - }, - "6789": { - "op": "DUP3" - }, - "6790": { - "op": "GT" - }, - "6791": { - "op": "ISZERO" - }, - "6792": { - "op": "PUSH2", - "value": "0x1A90" - }, - "6795": { - "op": "JUMPI" - }, - "6796": { - "op": "PUSH1", - "value": "0x0" - }, - "6798": { - "op": "DUP1" - }, - "6799": { - "op": "REVERT" - }, - "6800": { - "op": "JUMPDEST" - }, - "6801": { - "op": "PUSH1", - "value": "0x20" - }, - "6803": { - "op": "ADD" - }, - "6804": { - "op": "SWAP2" - }, - "6805": { - "op": "POP" - }, - "6806": { - "op": "CALLDATASIZE" - }, - "6807": { - "op": "DUP2" - }, - "6808": { - "op": "SWAP1" - }, - "6809": { - "op": "SUB" - }, - "6810": { - "op": "DUP3" - }, - "6811": { - "op": "SGT" - }, - "6812": { - "op": "ISZERO" - }, - "6813": { - "op": "PUSH2", - "value": "0x13B9" - }, - "6816": { - "op": "JUMPI" - }, - "6817": { - "op": "PUSH1", - "value": "0x0" - }, - "6819": { - "op": "DUP1" - }, - "6820": { - "op": "REVERT" - }, - "6821": { - "op": "JUMPDEST" - }, - "6822": { - "op": "PUSH4", - "value": "0x4E487B71" - }, - "6827": { - "op": "PUSH1", - "value": "0xE0" - }, - "6829": { - "op": "SHL" - }, - "6830": { - "op": "PUSH1", - "value": "0x0" - }, - "6832": { - "op": "MSTORE" - }, - "6833": { - "op": "PUSH1", - "value": "0x11" - }, - "6835": { - "op": "PUSH1", - "value": "0x4" - }, - "6837": { - "op": "MSTORE" - }, - "6838": { - "op": "PUSH1", - "value": "0x24" - }, - "6840": { - "op": "PUSH1", - "value": "0x0" - }, - "6842": { - "op": "REVERT" - }, - "6843": { - "op": "JUMPDEST" - }, - "6844": { - "op": "PUSH1", - "value": "0x0" - }, - "6846": { - "op": "PUSH1", - "value": "0x1" - }, - "6848": { - "op": "DUP3" - }, - "6849": { - "op": "ADD" - }, - "6850": { - "op": "PUSH2", - "value": "0x1ACD" - }, - "6853": { - "op": "JUMPI" - }, - "6854": { - "op": "PUSH2", - "value": "0x1ACD" - }, - "6857": { - "op": "PUSH2", - "value": "0x1AA5" - }, - "6860": { - "jump": "i", - "op": "JUMP" - }, - "6861": { - "op": "JUMPDEST" - }, - "6862": { - "op": "POP" - }, - "6863": { - "op": "PUSH1", - "value": "0x1" - }, - "6865": { - "op": "ADD" - }, - "6866": { - "op": "SWAP1" - }, - "6867": { - "jump": "o", - "op": "JUMP" - }, - "6868": { - "op": "JUMPDEST" - }, - "6869": { - "op": "DUP2" - }, - "6870": { - "op": "DUP4" - }, - "6871": { - "op": "MSTORE" - }, - "6872": { - "op": "PUSH1", - "value": "0x0" - }, - "6874": { - "op": "PUSH1", - "value": "0x20" - }, - "6876": { - "op": "DUP1" - }, - "6877": { - "op": "DUP6" - }, - "6878": { - "op": "ADD" - }, - "6879": { - "op": "DUP1" - }, - "6880": { - "op": "DUP2" - }, - "6881": { - "op": "SWAP7" - }, - "6882": { - "op": "POP" - }, - "6883": { - "op": "DUP6" - }, - "6884": { - "op": "PUSH1", - "value": "0x5" - }, - "6886": { - "op": "SHL" - }, - "6887": { - "op": "DUP2" - }, - "6888": { - "op": "ADD" - }, - "6889": { - "op": "SWAP2" - }, - "6890": { - "op": "POP" - }, - "6891": { - "op": "DUP5" - }, - "6892": { - "op": "PUSH1", - "value": "0x0" - }, - "6894": { - "op": "JUMPDEST" - }, - "6895": { - "op": "DUP8" - }, - "6896": { - "op": "DUP2" - }, - "6897": { - "op": "LT" - }, - "6898": { - "op": "ISZERO" - }, - "6899": { - "op": "PUSH2", - "value": "0x1B58" - }, - "6902": { - "op": "JUMPI" - }, - "6903": { - "op": "DUP3" - }, - "6904": { - "op": "DUP5" - }, - "6905": { - "op": "SUB" - }, - "6906": { - "op": "DUP10" - }, - "6907": { - "op": "MSTORE" - }, - "6908": { - "op": "DUP2" - }, - "6909": { - "op": "CALLDATALOAD" - }, - "6910": { - "op": "PUSH1", - "value": "0x1E" - }, - "6912": { - "op": "NOT" - }, - "6913": { - "op": "DUP9" - }, - "6914": { - "op": "CALLDATASIZE" - }, - "6915": { - "op": "SUB" - }, - "6916": { - "op": "ADD" - }, - "6917": { - "op": "DUP2" - }, - "6918": { - "op": "SLT" - }, - "6919": { - "op": "PUSH2", - "value": "0x1B0F" - }, - "6922": { - "op": "JUMPI" - }, - "6923": { - "op": "PUSH1", - "value": "0x0" - }, - "6925": { - "op": "DUP1" - }, - "6926": { - "op": "REVERT" - }, - "6927": { - "op": "JUMPDEST" - }, - "6928": { - "op": "DUP8" - }, - "6929": { - "op": "ADD" - }, - "6930": { - "op": "DUP6" - }, - "6931": { - "op": "DUP2" - }, - "6932": { - "op": "ADD" - }, - "6933": { - "op": "SWAP1" - }, - "6934": { - "op": "CALLDATALOAD" - }, - "6935": { - "op": "PUSH1", - "value": "0x1" - }, - "6937": { - "op": "PUSH1", - "value": "0x1" - }, - "6939": { - "op": "PUSH1", - "value": "0x40" - }, - "6941": { - "op": "SHL" - }, - "6942": { - "op": "SUB" - }, - "6943": { - "op": "DUP2" - }, - "6944": { - "op": "GT" - }, - "6945": { - "op": "ISZERO" - }, - "6946": { - "op": "PUSH2", - "value": "0x1B2A" - }, - "6949": { - "op": "JUMPI" - }, - "6950": { - "op": "PUSH1", - "value": "0x0" - }, - "6952": { - "op": "DUP1" - }, - "6953": { - "op": "REVERT" - }, - "6954": { - "op": "JUMPDEST" - }, - "6955": { - "op": "DUP1" - }, - "6956": { - "op": "CALLDATASIZE" - }, - "6957": { - "op": "SUB" - }, - "6958": { - "op": "DUP3" - }, - "6959": { - "op": "SGT" - }, - "6960": { - "op": "ISZERO" - }, - "6961": { - "op": "PUSH2", - "value": "0x1B39" - }, - "6964": { - "op": "JUMPI" - }, - "6965": { - "op": "PUSH1", - "value": "0x0" - }, - "6967": { - "op": "DUP1" - }, - "6968": { - "op": "REVERT" - }, - "6969": { - "op": "JUMPDEST" - }, - "6970": { - "op": "PUSH2", - "value": "0x1B44" - }, - "6973": { - "op": "DUP7" - }, - "6974": { - "op": "DUP3" - }, - "6975": { - "op": "DUP5" - }, - "6976": { - "op": "PUSH2", - "value": "0x1953" - }, - "6979": { - "jump": "i", - "op": "JUMP" - }, - "6980": { - "op": "JUMPDEST" - }, - "6981": { - "op": "SWAP11" - }, - "6982": { - "op": "DUP8" - }, - "6983": { - "op": "ADD" - }, - "6984": { - "op": "SWAP11" - }, - "6985": { - "op": "SWAP6" - }, - "6986": { - "op": "POP" - }, - "6987": { - "op": "POP" - }, - "6988": { - "op": "POP" - }, - "6989": { - "op": "SWAP1" - }, - "6990": { - "op": "DUP5" - }, - "6991": { - "op": "ADD" - }, - "6992": { - "op": "SWAP1" - }, - "6993": { - "op": "PUSH1", - "value": "0x1" - }, - "6995": { - "op": "ADD" - }, - "6996": { - "op": "PUSH2", - "value": "0x1AEE" - }, - "6999": { - "op": "JUMP" - }, - "7000": { - "op": "JUMPDEST" - }, - "7001": { - "op": "POP" - }, - "7002": { - "op": "SWAP2" - }, - "7003": { - "op": "SWAP8" - }, - "7004": { - "op": "SWAP7" - }, - "7005": { - "op": "POP" - }, - "7006": { - "op": "POP" - }, - "7007": { - "op": "POP" - }, - "7008": { - "op": "POP" - }, - "7009": { - "op": "POP" - }, - "7010": { - "op": "POP" - }, - "7011": { - "op": "POP" - }, - "7012": { - "jump": "o", - "op": "JUMP" - }, - "7013": { - "op": "JUMPDEST" - }, - "7014": { - "op": "PUSH1", - "value": "0xA0" - }, - "7016": { - "op": "DUP1" - }, - "7017": { - "op": "DUP3" - }, - "7018": { - "op": "MSTORE" - }, - "7019": { - "op": "DUP2" - }, - "7020": { - "op": "ADD" - }, - "7021": { - "op": "DUP9" - }, - "7022": { - "op": "SWAP1" - }, - "7023": { - "op": "MSTORE" - }, - "7024": { - "op": "PUSH1", - "value": "0x0" - }, - "7026": { - "op": "DUP10" - }, - "7027": { - "op": "PUSH1", - "value": "0xC0" - }, - "7029": { - "op": "DUP4" - }, - "7030": { - "op": "ADD" - }, - "7031": { - "op": "DUP3" - }, - "7032": { - "op": "JUMPDEST" - }, - "7033": { - "op": "DUP12" - }, - "7034": { - "op": "DUP2" - }, - "7035": { - "op": "LT" - }, - "7036": { - "op": "ISZERO" - }, - "7037": { - "op": "PUSH2", - "value": "0x1BA6" - }, - "7040": { - "op": "JUMPI" - }, - "7041": { - "op": "PUSH1", - "value": "0x1" - }, - "7043": { - "op": "PUSH1", - "value": "0x1" - }, - "7045": { - "op": "PUSH1", - "value": "0xA0" - }, - "7047": { - "op": "SHL" - }, - "7048": { - "op": "SUB" - }, - "7049": { - "op": "PUSH2", - "value": "0x1B91" - }, - "7052": { - "op": "DUP5" - }, - "7053": { - "op": "PUSH2", - "value": "0x135C" - }, - "7056": { - "jump": "i", - "op": "JUMP" - }, - "7057": { - "op": "JUMPDEST" - }, - "7058": { - "op": "AND" - }, - "7059": { - "op": "DUP3" - }, - "7060": { - "op": "MSTORE" - }, - "7061": { - "op": "PUSH1", - "value": "0x20" - }, - "7063": { - "op": "SWAP3" - }, - "7064": { - "op": "DUP4" - }, - "7065": { - "op": "ADD" - }, - "7066": { - "op": "SWAP3" - }, - "7067": { - "op": "SWAP1" - }, - "7068": { - "op": "SWAP2" - }, - "7069": { - "op": "ADD" - }, - "7070": { - "op": "SWAP1" - }, - "7071": { - "op": "PUSH1", - "value": "0x1" - }, - "7073": { - "op": "ADD" - }, - "7074": { - "op": "PUSH2", - "value": "0x1B78" - }, - "7077": { - "op": "JUMP" - }, - "7078": { - "op": "JUMPDEST" - }, - "7079": { - "op": "POP" - }, - "7080": { - "op": "DUP4" - }, - "7081": { - "op": "DUP2" - }, - "7082": { - "op": "SUB" - }, - "7083": { - "op": "PUSH1", - "value": "0x20" - }, - "7085": { - "op": "DUP6" - }, - "7086": { - "op": "ADD" - }, - "7087": { - "op": "MSTORE" - }, - "7088": { - "op": "DUP9" - }, - "7089": { - "op": "DUP2" - }, - "7090": { - "op": "MSTORE" - }, - "7091": { - "op": "PUSH1", - "value": "0x1" - }, - "7093": { - "op": "PUSH1", - "value": "0x1" - }, - "7095": { - "op": "PUSH1", - "value": "0xFB" - }, - "7097": { - "op": "SHL" - }, - "7098": { - "op": "SUB" - }, - "7099": { - "op": "DUP10" - }, - "7100": { - "op": "GT" - }, - "7101": { - "op": "ISZERO" - }, - "7102": { - "op": "PUSH2", - "value": "0x1BC6" - }, - "7105": { - "op": "JUMPI" - }, - "7106": { - "op": "PUSH1", - "value": "0x0" - }, - "7108": { - "op": "DUP1" - }, - "7109": { - "op": "REVERT" - }, - "7110": { - "op": "JUMPDEST" - }, - "7111": { - "op": "DUP9" - }, - "7112": { - "op": "PUSH1", - "value": "0x5" - }, - "7114": { - "op": "SHL" - }, - "7115": { - "op": "SWAP2" - }, - "7116": { - "op": "POP" - }, - "7117": { - "op": "DUP2" - }, - "7118": { - "op": "DUP11" - }, - "7119": { - "op": "PUSH1", - "value": "0x20" - }, - "7121": { - "op": "DUP4" - }, - "7122": { - "op": "ADD" - }, - "7123": { - "op": "CALLDATACOPY" - }, - "7124": { - "op": "ADD" - }, - "7125": { - "op": "DUP3" - }, - "7126": { - "op": "DUP2" - }, - "7127": { - "op": "SUB" - }, - "7128": { - "op": "PUSH1", - "value": "0x20" - }, - "7130": { - "op": "SWAP1" - }, - "7131": { - "op": "DUP2" - }, - "7132": { - "op": "ADD" - }, - "7133": { - "op": "PUSH1", - "value": "0x40" - }, - "7135": { - "op": "DUP6" - }, - "7136": { - "op": "ADD" - }, - "7137": { - "op": "MSTORE" - }, - "7138": { - "op": "PUSH2", - "value": "0x1BEE" - }, - "7141": { - "op": "SWAP1" - }, - "7142": { - "op": "DUP3" - }, - "7143": { - "op": "ADD" - }, - "7144": { - "op": "DUP8" - }, - "7145": { - "op": "DUP10" - }, - "7146": { - "op": "PUSH2", - "value": "0x1AD4" - }, - "7149": { - "jump": "i", - "op": "JUMP" - }, - "7150": { - "op": "JUMPDEST" - }, - "7151": { - "op": "PUSH1", - "value": "0x60" - }, - "7153": { - "op": "DUP5" - }, - "7154": { - "op": "ADD" - }, - "7155": { - "op": "SWAP6" - }, - "7156": { - "op": "SWAP1" - }, - "7157": { - "op": "SWAP6" - }, - "7158": { - "op": "MSTORE" - }, - "7159": { - "op": "POP" - }, - "7160": { - "op": "POP" - }, - "7161": { - "op": "PUSH1", - "value": "0x80" - }, - "7163": { - "op": "ADD" - }, - "7164": { - "op": "MSTORE" - }, - "7165": { - "op": "SWAP7" - }, - "7166": { - "op": "SWAP6" - }, - "7167": { - "op": "POP" - }, - "7168": { - "op": "POP" - }, - "7169": { - "op": "POP" - }, - "7170": { - "op": "POP" - }, - "7171": { - "op": "POP" - }, - "7172": { - "op": "POP" - }, - "7173": { - "jump": "o", - "op": "JUMP" - }, - "7174": { - "op": "JUMPDEST" - }, - "7175": { - "op": "DUP1" - }, - "7176": { - "op": "DUP3" - }, - "7177": { - "op": "ADD" - }, - "7178": { - "op": "DUP1" - }, - "7179": { - "op": "DUP3" - }, - "7180": { - "op": "GT" - }, - "7181": { - "op": "ISZERO" - }, - "7182": { - "op": "PUSH2", - "value": "0x6B0" - }, - "7185": { - "op": "JUMPI" - }, - "7186": { - "op": "PUSH2", - "value": "0x6B0" - }, - "7189": { - "op": "PUSH2", - "value": "0x1AA5" - }, - "7192": { - "jump": "i", - "op": "JUMP" - }, - "7193": { - "op": "JUMPDEST" - }, - "7194": { - "op": "PUSH1", - "value": "0x0" - }, - "7196": { - "op": "JUMPDEST" - }, - "7197": { - "op": "DUP4" - }, - "7198": { - "op": "DUP2" - }, - "7199": { - "op": "LT" - }, - "7200": { - "op": "ISZERO" - }, - "7201": { - "op": "PUSH2", - "value": "0x1C34" - }, - "7204": { - "op": "JUMPI" - }, - "7205": { - "op": "DUP2" - }, - "7206": { - "op": "DUP2" - }, - "7207": { - "op": "ADD" - }, - "7208": { - "op": "MLOAD" - }, - "7209": { - "op": "DUP4" - }, - "7210": { - "op": "DUP3" - }, - "7211": { - "op": "ADD" - }, - "7212": { - "op": "MSTORE" - }, - "7213": { - "op": "PUSH1", - "value": "0x20" - }, - "7215": { - "op": "ADD" - }, - "7216": { - "op": "PUSH2", - "value": "0x1C1C" - }, - "7219": { - "op": "JUMP" - }, - "7220": { - "op": "JUMPDEST" - }, - "7221": { - "op": "POP" - }, - "7222": { - "op": "POP" - }, - "7223": { - "op": "PUSH1", - "value": "0x0" - }, - "7225": { - "op": "SWAP2" - }, - "7226": { - "op": "ADD" - }, - "7227": { - "op": "MSTORE" - }, - "7228": { - "jump": "o", - "op": "JUMP" - }, - "7229": { - "op": "JUMPDEST" - }, - "7230": { - "op": "PUSH32", - "value": "0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000" - }, - "7263": { - "op": "DUP2" - }, - "7264": { - "op": "MSTORE" - }, - "7265": { - "op": "PUSH1", - "value": "0x0" - }, - "7267": { - "op": "DUP4" - }, - "7268": { - "op": "MLOAD" - }, - "7269": { - "op": "PUSH2", - "value": "0x1C75" - }, - "7272": { - "op": "DUP2" - }, - "7273": { - "op": "PUSH1", - "value": "0x17" - }, - "7275": { - "op": "DUP6" - }, - "7276": { - "op": "ADD" - }, - "7277": { - "op": "PUSH1", - "value": "0x20" - }, - "7279": { - "op": "DUP9" - }, - "7280": { - "op": "ADD" - }, - "7281": { - "op": "PUSH2", - "value": "0x1C19" - }, - "7284": { - "jump": "i", - "op": "JUMP" - }, - "7285": { - "op": "JUMPDEST" - }, - "7286": { - "op": "PUSH17", - "value": "0x1034B99036B4B9B9B4B733903937B6329" - }, - "7304": { - "op": "PUSH1", - "value": "0x7D" - }, - "7306": { - "op": "SHL" - }, - "7307": { - "op": "PUSH1", - "value": "0x17" - }, - "7309": { - "op": "SWAP2" - }, - "7310": { - "op": "DUP5" - }, - "7311": { - "op": "ADD" - }, - "7312": { - "op": "SWAP2" - }, - "7313": { - "op": "DUP3" - }, - "7314": { - "op": "ADD" - }, - "7315": { - "op": "MSTORE" - }, - "7316": { - "op": "DUP4" - }, - "7317": { - "op": "MLOAD" - }, - "7318": { - "op": "PUSH2", - "value": "0x1CA6" - }, - "7321": { - "op": "DUP2" - }, - "7322": { - "op": "PUSH1", - "value": "0x28" - }, - "7324": { - "op": "DUP5" - }, - "7325": { - "op": "ADD" - }, - "7326": { - "op": "PUSH1", - "value": "0x20" - }, - "7328": { - "op": "DUP9" - }, - "7329": { - "op": "ADD" - }, - "7330": { - "op": "PUSH2", - "value": "0x1C19" - }, - "7333": { - "jump": "i", - "op": "JUMP" - }, - "7334": { - "op": "JUMPDEST" - }, - "7335": { - "op": "ADD" - }, - "7336": { - "op": "PUSH1", - "value": "0x28" - }, - "7338": { - "op": "ADD" - }, - "7339": { - "op": "SWAP5" - }, - "7340": { - "op": "SWAP4" - }, - "7341": { - "op": "POP" - }, - "7342": { - "op": "POP" - }, - "7343": { - "op": "POP" - }, - "7344": { - "op": "POP" - }, - "7345": { - "jump": "o", - "op": "JUMP" - }, - "7346": { - "op": "JUMPDEST" - }, - "7347": { - "op": "PUSH1", - "value": "0x20" - }, - "7349": { - "op": "DUP2" - }, - "7350": { - "op": "MSTORE" - }, - "7351": { - "op": "PUSH1", - "value": "0x0" - }, - "7353": { - "op": "DUP3" - }, - "7354": { - "op": "MLOAD" - }, - "7355": { - "op": "DUP1" - }, - "7356": { - "op": "PUSH1", - "value": "0x20" - }, - "7358": { - "op": "DUP5" - }, - "7359": { - "op": "ADD" - }, - "7360": { - "op": "MSTORE" - }, - "7361": { - "op": "PUSH2", - "value": "0x1CD1" - }, - "7364": { - "op": "DUP2" - }, - "7365": { - "op": "PUSH1", - "value": "0x40" - }, - "7367": { - "op": "DUP6" - }, - "7368": { - "op": "ADD" - }, - "7369": { - "op": "PUSH1", - "value": "0x20" - }, - "7371": { - "op": "DUP8" - }, - "7372": { - "op": "ADD" - }, - "7373": { - "op": "PUSH2", - "value": "0x1C19" - }, - "7376": { - "jump": "i", - "op": "JUMP" - }, - "7377": { - "op": "JUMPDEST" - }, - "7378": { - "op": "PUSH1", - "value": "0x1F" - }, - "7380": { - "op": "ADD" - }, - "7381": { - "op": "PUSH1", - "value": "0x1F" - }, - "7383": { - "op": "NOT" - }, - "7384": { - "op": "AND" - }, - "7385": { - "op": "SWAP2" - }, - "7386": { - "op": "SWAP1" - }, - "7387": { - "op": "SWAP2" - }, - "7388": { - "op": "ADD" - }, - "7389": { - "op": "PUSH1", - "value": "0x40" - }, - "7391": { - "op": "ADD" - }, - "7392": { - "op": "SWAP3" - }, - "7393": { - "op": "SWAP2" - }, - "7394": { - "op": "POP" - }, - "7395": { - "op": "POP" - }, - "7396": { - "jump": "o", - "op": "JUMP" - }, - "7397": { - "op": "JUMPDEST" - }, - "7398": { - "op": "PUSH1", - "value": "0x20" - }, - "7400": { - "op": "DUP1" - }, - "7401": { - "op": "DUP3" - }, - "7402": { - "op": "MSTORE" - }, - "7403": { - "op": "PUSH1", - "value": "0x2A" - }, - "7405": { - "op": "SWAP1" - }, - "7406": { - "op": "DUP3" - }, - "7407": { - "op": "ADD" - }, - "7408": { - "op": "MSTORE" - }, - "7409": { - "op": "PUSH32", - "value": "0x54696D656C6F636B436F6E74726F6C6C65723A206F7065726174696F6E206973" - }, - "7442": { - "op": "PUSH1", - "value": "0x40" - }, - "7444": { - "op": "DUP3" - }, - "7445": { - "op": "ADD" - }, - "7446": { - "op": "MSTORE" - }, - "7447": { - "op": "PUSH10", - "value": "0x206E6F74207265616479" - }, - "7458": { - "op": "PUSH1", - "value": "0xB0" - }, - "7460": { - "op": "SHL" - }, - "7461": { - "op": "PUSH1", - "value": "0x60" - }, - "7463": { - "op": "DUP3" - }, - "7464": { - "op": "ADD" - }, - "7465": { - "op": "MSTORE" - }, - "7466": { - "op": "PUSH1", - "value": "0x80" - }, - "7468": { - "op": "ADD" - }, - "7469": { - "op": "SWAP1" - }, - "7470": { - "jump": "o", - "op": "JUMP" - }, - "7471": { - "op": "JUMPDEST" - }, - "7472": { - "op": "DUP2" - }, - "7473": { - "op": "DUP4" - }, - "7474": { - "op": "DUP3" - }, - "7475": { - "op": "CALLDATACOPY" - }, - "7476": { - "op": "PUSH1", - "value": "0x0" - }, - "7478": { - "op": "SWAP2" - }, - "7479": { - "op": "ADD" - }, - "7480": { - "op": "SWAP1" - }, - "7481": { - "op": "DUP2" - }, - "7482": { - "op": "MSTORE" - }, - "7483": { - "op": "SWAP2" - }, - "7484": { - "op": "SWAP1" - }, - "7485": { - "op": "POP" - }, - "7486": { - "jump": "o", - "op": "JUMP" - }, - "7487": { - "op": "JUMPDEST" - }, - "7488": { - "op": "DUP1" - }, - "7489": { - "op": "DUP3" - }, - "7490": { - "op": "MUL" - }, - "7491": { - "op": "DUP2" - }, - "7492": { - "op": "ISZERO" - }, - "7493": { - "op": "DUP3" - }, - "7494": { - "op": "DUP3" - }, - "7495": { - "op": "DIV" - }, - "7496": { - "op": "DUP5" - }, - "7497": { - "op": "EQ" - }, - "7498": { - "op": "OR" - }, - "7499": { - "op": "PUSH2", - "value": "0x6B0" - }, - "7502": { - "op": "JUMPI" - }, - "7503": { - "op": "PUSH2", - "value": "0x6B0" - }, - "7506": { - "op": "PUSH2", - "value": "0x1AA5" - }, - "7509": { - "jump": "i", - "op": "JUMP" - }, - "7510": { - "op": "JUMPDEST" - }, - "7511": { - "op": "PUSH1", - "value": "0x0" - }, - "7513": { - "op": "DUP2" - }, - "7514": { - "op": "PUSH2", - "value": "0x1D65" - }, - "7517": { - "op": "JUMPI" - }, - "7518": { - "op": "PUSH2", - "value": "0x1D65" - }, - "7521": { - "op": "PUSH2", - "value": "0x1AA5" - }, - "7524": { - "jump": "i", - "op": "JUMP" - }, - "7525": { - "op": "JUMPDEST" - }, - "7526": { - "op": "POP" - }, - "7527": { - "op": "PUSH1", - "value": "0x0" - }, - "7529": { - "op": "NOT" - }, - "7530": { - "op": "ADD" - }, - "7531": { - "op": "SWAP1" - }, - "7532": { - "jump": "o", - "op": "JUMP" - } - }, - "sha1": "c10561cdb4e2cb3c555bc900973f734cb3c24edd", - "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (governance/TimelockController.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../access/AccessControl.sol\";\nimport \"../token/ERC721/IERC721Receiver.sol\";\nimport \"../token/ERC1155/IERC1155Receiver.sol\";\nimport \"../utils/Address.sol\";\n\n/**\n * @dev Contract module which acts as a timelocked controller. When set as the\n * owner of an `Ownable` smart contract, it enforces a timelock on all\n * `onlyOwner` maintenance operations. This gives time for users of the\n * controlled contract to exit before a potentially dangerous maintenance\n * operation is applied.\n *\n * By default, this contract is self administered, meaning administration tasks\n * have to go through the timelock process. The proposer (resp executor) role\n * is in charge of proposing (resp executing) operations. A common use case is\n * to position this {TimelockController} as the owner of a smart contract, with\n * a multisig or a DAO as the sole proposer.\n *\n * _Available since v3.3._\n */\ncontract TimelockController is AccessControl, IERC721Receiver, IERC1155Receiver {\n bytes32 public constant TIMELOCK_ADMIN_ROLE = keccak256(\"TIMELOCK_ADMIN_ROLE\");\n bytes32 public constant PROPOSER_ROLE = keccak256(\"PROPOSER_ROLE\");\n bytes32 public constant EXECUTOR_ROLE = keccak256(\"EXECUTOR_ROLE\");\n bytes32 public constant CANCELLER_ROLE = keccak256(\"CANCELLER_ROLE\");\n uint256 internal constant _DONE_TIMESTAMP = uint256(1);\n\n mapping(bytes32 => uint256) private _timestamps;\n uint256 private _minDelay;\n\n /**\n * @dev Emitted when a call is scheduled as part of operation `id`.\n */\n event CallScheduled(\n bytes32 indexed id,\n uint256 indexed index,\n address target,\n uint256 value,\n bytes data,\n bytes32 predecessor,\n uint256 delay\n );\n\n /**\n * @dev Emitted when a call is performed as part of operation `id`.\n */\n event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data);\n\n /**\n * @dev Emitted when operation `id` is cancelled.\n */\n event Cancelled(bytes32 indexed id);\n\n /**\n * @dev Emitted when the minimum delay for future operations is modified.\n */\n event MinDelayChange(uint256 oldDuration, uint256 newDuration);\n\n /**\n * @dev Initializes the contract with the following parameters:\n *\n * - `minDelay`: initial minimum delay for operations\n * - `proposers`: accounts to be granted proposer and canceller roles\n * - `executors`: accounts to be granted executor role\n * - `admin`: optional account to be granted admin role; disable with zero address\n *\n * IMPORTANT: The optional admin can aid with initial configuration of roles after deployment\n * without being subject to delay, but this role should be subsequently renounced in favor of\n * administration through timelocked proposals. Previous versions of this contract would assign\n * this admin to the deployer automatically and should be renounced as well.\n */\n constructor(\n uint256 minDelay,\n address[] memory proposers,\n address[] memory executors,\n address admin\n ) {\n _setRoleAdmin(TIMELOCK_ADMIN_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(PROPOSER_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(EXECUTOR_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(CANCELLER_ROLE, TIMELOCK_ADMIN_ROLE);\n\n // self administration\n _setupRole(TIMELOCK_ADMIN_ROLE, address(this));\n\n // optional admin\n if (admin != address(0)) {\n _setupRole(TIMELOCK_ADMIN_ROLE, admin);\n }\n\n // register proposers and cancellers\n for (uint256 i = 0; i < proposers.length; ++i) {\n _setupRole(PROPOSER_ROLE, proposers[i]);\n _setupRole(CANCELLER_ROLE, proposers[i]);\n }\n\n // register executors\n for (uint256 i = 0; i < executors.length; ++i) {\n _setupRole(EXECUTOR_ROLE, executors[i]);\n }\n\n _minDelay = minDelay;\n emit MinDelayChange(0, minDelay);\n }\n\n /**\n * @dev Modifier to make a function callable only by a certain role. In\n * addition to checking the sender's role, `address(0)` 's role is also\n * considered. Granting a role to `address(0)` is equivalent to enabling\n * this role for everyone.\n */\n modifier onlyRoleOrOpenRole(bytes32 role) {\n if (!hasRole(role, address(0))) {\n _checkRole(role, _msgSender());\n }\n _;\n }\n\n /**\n * @dev Contract might receive/hold ETH as part of the maintenance process.\n */\n receive() external payable {}\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, AccessControl) returns (bool) {\n return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns whether an id correspond to a registered operation. This\n * includes both Pending, Ready and Done operations.\n */\n function isOperation(bytes32 id) public view virtual returns (bool registered) {\n return getTimestamp(id) > 0;\n }\n\n /**\n * @dev Returns whether an operation is pending or not.\n */\n function isOperationPending(bytes32 id) public view virtual returns (bool pending) {\n return getTimestamp(id) > _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Returns whether an operation is ready or not.\n */\n function isOperationReady(bytes32 id) public view virtual returns (bool ready) {\n uint256 timestamp = getTimestamp(id);\n return timestamp > _DONE_TIMESTAMP && timestamp <= block.timestamp;\n }\n\n /**\n * @dev Returns whether an operation is done or not.\n */\n function isOperationDone(bytes32 id) public view virtual returns (bool done) {\n return getTimestamp(id) == _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Returns the timestamp at with an operation becomes ready (0 for\n * unset operations, 1 for done operations).\n */\n function getTimestamp(bytes32 id) public view virtual returns (uint256 timestamp) {\n return _timestamps[id];\n }\n\n /**\n * @dev Returns the minimum delay for an operation to become valid.\n *\n * This value can be changed by executing an operation that calls `updateDelay`.\n */\n function getMinDelay() public view virtual returns (uint256 duration) {\n return _minDelay;\n }\n\n /**\n * @dev Returns the identifier of an operation containing a single\n * transaction.\n */\n function hashOperation(\n address target,\n uint256 value,\n bytes calldata data,\n bytes32 predecessor,\n bytes32 salt\n ) public pure virtual returns (bytes32 hash) {\n return keccak256(abi.encode(target, value, data, predecessor, salt));\n }\n\n /**\n * @dev Returns the identifier of an operation containing a batch of\n * transactions.\n */\n function hashOperationBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata payloads,\n bytes32 predecessor,\n bytes32 salt\n ) public pure virtual returns (bytes32 hash) {\n return keccak256(abi.encode(targets, values, payloads, predecessor, salt));\n }\n\n /**\n * @dev Schedule an operation containing a single transaction.\n *\n * Emits a {CallScheduled} event.\n *\n * Requirements:\n *\n * - the caller must have the 'proposer' role.\n */\n function schedule(\n address target,\n uint256 value,\n bytes calldata data,\n bytes32 predecessor,\n bytes32 salt,\n uint256 delay\n ) public virtual onlyRole(PROPOSER_ROLE) {\n bytes32 id = hashOperation(target, value, data, predecessor, salt);\n _schedule(id, delay);\n emit CallScheduled(id, 0, target, value, data, predecessor, delay);\n }\n\n /**\n * @dev Schedule an operation containing a batch of transactions.\n *\n * Emits one {CallScheduled} event per transaction in the batch.\n *\n * Requirements:\n *\n * - the caller must have the 'proposer' role.\n */\n function scheduleBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata payloads,\n bytes32 predecessor,\n bytes32 salt,\n uint256 delay\n ) public virtual onlyRole(PROPOSER_ROLE) {\n require(targets.length == values.length, \"TimelockController: length mismatch\");\n require(targets.length == payloads.length, \"TimelockController: length mismatch\");\n\n bytes32 id = hashOperationBatch(targets, values, payloads, predecessor, salt);\n _schedule(id, delay);\n for (uint256 i = 0; i < targets.length; ++i) {\n emit CallScheduled(id, i, targets[i], values[i], payloads[i], predecessor, delay);\n }\n }\n\n /**\n * @dev Schedule an operation that is to becomes valid after a given delay.\n */\n function _schedule(bytes32 id, uint256 delay) private {\n require(!isOperation(id), \"TimelockController: operation already scheduled\");\n require(delay >= getMinDelay(), \"TimelockController: insufficient delay\");\n _timestamps[id] = block.timestamp + delay;\n }\n\n /**\n * @dev Cancel an operation.\n *\n * Requirements:\n *\n * - the caller must have the 'canceller' role.\n */\n function cancel(bytes32 id) public virtual onlyRole(CANCELLER_ROLE) {\n require(isOperationPending(id), \"TimelockController: operation cannot be cancelled\");\n delete _timestamps[id];\n\n emit Cancelled(id);\n }\n\n /**\n * @dev Execute an (ready) operation containing a single transaction.\n *\n * Emits a {CallExecuted} event.\n *\n * Requirements:\n *\n * - the caller must have the 'executor' role.\n */\n // This function can reenter, but it doesn't pose a risk because _afterCall checks that the proposal is pending,\n // thus any modifications to the operation during reentrancy should be caught.\n // slither-disable-next-line reentrancy-eth\n function execute(\n address target,\n uint256 value,\n bytes calldata payload,\n bytes32 predecessor,\n bytes32 salt\n ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n bytes32 id = hashOperation(target, value, payload, predecessor, salt);\n\n _beforeCall(id, predecessor);\n _execute(target, value, payload);\n emit CallExecuted(id, 0, target, value, payload);\n _afterCall(id);\n }\n\n /**\n * @dev Execute an (ready) operation containing a batch of transactions.\n *\n * Emits one {CallExecuted} event per transaction in the batch.\n *\n * Requirements:\n *\n * - the caller must have the 'executor' role.\n */\n function executeBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata payloads,\n bytes32 predecessor,\n bytes32 salt\n ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n require(targets.length == values.length, \"TimelockController: length mismatch\");\n require(targets.length == payloads.length, \"TimelockController: length mismatch\");\n\n bytes32 id = hashOperationBatch(targets, values, payloads, predecessor, salt);\n\n _beforeCall(id, predecessor);\n for (uint256 i = 0; i < targets.length; ++i) {\n address target = targets[i];\n uint256 value = values[i];\n bytes calldata payload = payloads[i];\n _execute(target, value, payload);\n emit CallExecuted(id, i, target, value, payload);\n }\n _afterCall(id);\n }\n\n /**\n * @dev Execute an operation's call.\n */\n function _execute(\n address target,\n uint256 value,\n bytes calldata data\n ) internal virtual {\n (bool success, ) = target.call{value: value}(data);\n require(success, \"TimelockController: underlying transaction reverted\");\n }\n\n /**\n * @dev Checks before execution of an operation's calls.\n */\n function _beforeCall(bytes32 id, bytes32 predecessor) private view {\n require(isOperationReady(id), \"TimelockController: operation is not ready\");\n require(predecessor == bytes32(0) || isOperationDone(predecessor), \"TimelockController: missing dependency\");\n }\n\n /**\n * @dev Checks after execution of an operation's calls.\n */\n function _afterCall(bytes32 id) private {\n require(isOperationReady(id), \"TimelockController: operation is not ready\");\n _timestamps[id] = _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Changes the minimum timelock duration for future operations.\n *\n * Emits a {MinDelayChange} event.\n *\n * Requirements:\n *\n * - the caller must be the timelock itself. This can only be achieved by scheduling and later executing\n * an operation where the timelock is the target and the data is the ABI-encoded call to this function.\n */\n function updateDelay(uint256 newDelay) external virtual {\n require(msg.sender == address(this), \"TimelockController: caller must be timelock\");\n emit MinDelayChange(_minDelay, newDelay);\n _minDelay = newDelay;\n }\n\n /**\n * @dev See {IERC721Receiver-onERC721Received}.\n */\n function onERC721Received(\n address,\n address,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC721Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155Received}.\n */\n function onERC1155Received(\n address,\n address,\n uint256,\n uint256,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155Received.selector;\n }\n\n /**\n * @dev See {IERC1155Receiver-onERC1155BatchReceived}.\n */\n function onERC1155BatchReceived(\n address,\n address,\n uint256[] memory,\n uint256[] memory,\n bytes memory\n ) public virtual override returns (bytes4) {\n return this.onERC1155BatchReceived.selector;\n }\n}\n", - "sourceMap": "1030:13261:4:-:0;;;3089:1045;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3238:55;-1:-1:-1;;;;;;;;;;;1162:32:4;3238:13;:55::i;:::-;3303:49;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3303:13:4;:49::i;:::-;3362;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3362:13:4;:49::i;:::-;3421:50;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3421:13:4;:50::i;:::-;3513:46;-1:-1:-1;;;;;;;;;;;3553:4:4;3513:10;:46::i;:::-;-1:-1:-1;;;;;3600:19:4;;;3596:88;;3635:38;-1:-1:-1;;;;;;;;;;;3667:5:4;3635:10;:38::i;:::-;3744:9;3739:165;3763:9;:16;3759:1;:20;3739:165;;;3800:39;-1:-1:-1;;;;;;;;;;;3826:9:4;3836:1;3826:12;;;;;;;;:::i;:::-;;;;;;;3800:10;;;:39;;:::i;:::-;3853:40;-1:-1:-1;;;;;;;;;;;3880:9:4;3890:1;3880:12;;;;;;;;:::i;3853:40::-;3781:3;;;:::i;:::-;;;3739:165;;;;3949:9;3944:111;3968:9;:16;3964:1;:20;3944:111;;;4005:39;-1:-1:-1;;;;;;;;;;;4031:9:4;4041:1;4031:12;;;;;;;;:::i;4005:39::-;3986:3;;;:::i;:::-;;;3944:111;;;-1:-1:-1;4065:9:4;:20;;;4100:27;;;4115:1;2573:25:35;;2629:2;2614:18;;2607:34;;;4100:27:4;;2546:18:35;4100:27:4;;;;;;;3089:1045;;;;1030:13261;;7046:247:0;7129:25;4478:12;;;;;;;;;;;:22;;;;7185:34;;;;7234:52;;4478:22;;7185:34;;4478:22;;:12;;7234:52;;7129:25;7234:52;7119:174;7046:247;;:::o;6811:110::-;6889:25;6900:4;6906:7;6889:10;:25::i;:::-;6811:110;;:::o;7461:233::-;2981:4;3004:12;;;;;;;;;;;-1:-1:-1;;;;;3004:29:0;;;;;;;;;;;;7539:149;;7582:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7582:29:0;;;;;;;;;:36;;-1:-1:-1;;7582:36:0;7614:4;7582:36;;;7664:12;719:10:22;;640:96;7664:12:0;-1:-1:-1;;;;;7637:40:0;7655:7;-1:-1:-1;;;;;7637:40:0;7649:4;7637:40;;;;;;;;;;7461:233;;:::o;14:127:35:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:35;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:923::-;393:5;446:3;439:4;431:6;427:17;423:27;413:55;;464:1;461;454:12;413:55;487:13;;519:4;-1:-1:-1;;;;;572:10:35;;;569:36;;;585:18;;:::i;:::-;631:2;628:1;624:10;663:2;657:9;726:2;722:7;717:2;713;709:11;705:25;697:6;693:38;781:6;769:10;766:22;761:2;749:10;746:18;743:46;740:72;;;792:18;;:::i;:::-;828:2;821:22;878:18;;;954:15;;;950:24;;;912:15;;;;-1:-1:-1;986:15:35;;;983:35;;;1014:1;1011;1004:12;983:35;1050:2;1042:6;1038:15;1027:26;;1062:159;1078:6;1073:3;1070:15;1062:159;;;1144:34;1174:3;1144:34;:::i;:::-;1132:47;;1199:12;;;;1095;;;;1062:159;;;1239:6;328:923;-1:-1:-1;;;;;;;328:923:35:o;1256:761::-;1403:6;1411;1419;1427;1480:3;1468:9;1459:7;1455:23;1451:33;1448:53;;;1497:1;1494;1487:12;1448:53;1520:16;;1580:2;1565:18;;1559:25;1520:16;;-1:-1:-1;;;;;;1633:14:35;;;1630:34;;;1660:1;1657;1650:12;1630:34;1683:72;1747:7;1738:6;1727:9;1723:22;1683:72;:::i;:::-;1673:82;;1801:2;1790:9;1786:18;1780:25;1764:41;;1830:2;1820:8;1817:16;1814:36;;;1846:1;1843;1836:12;1814:36;;1869:74;1935:7;1924:8;1913:9;1909:24;1869:74;:::i;:::-;1859:84;;;1962:49;2007:2;1996:9;1992:18;1962:49;:::i;:::-;1952:59;;1256:761;;;;;;;:::o;2022:127::-;2083:10;2078:3;2074:20;2071:1;2064:31;2114:4;2111:1;2104:15;2138:4;2135:1;2128:15;2154:232;2193:3;2214:17;;;2211:140;;2273:10;2268:3;2264:20;2261:1;2254:31;2308:4;2305:1;2298:15;2336:4;2333:1;2326:15;2211:140;-1:-1:-1;2378:1:35;2367:13;;2154:232::o;2391:256::-;1030:13261:4;;;;;;", - "sourcePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/governance/TimelockController.sol", - "type": "contract" -} \ No newline at end of file diff --git a/context/contracts/chain-info/deployments/5/0x120ab2B75F348E726c53dAAc3C8887c4c491ca03.json b/context/contracts/chain-info/deployments/5/0x120ab2B75F348E726c53dAAc3C8887c4c491ca03.json deleted file mode 100644 index 2f38edf4..00000000 --- a/context/contracts/chain-info/deployments/5/0x120ab2B75F348E726c53dAAc3C8887c4c491ca03.json +++ /dev/null @@ -1,1255 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "contract IVotes", - "name": "_token", - "type": "address" - }, - { - "internalType": "contract TimelockController", - "name": "_timelock", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_votingDelay", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_votingPeriod", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_quorumPercentage", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "Empty", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "string[]", - "name": "signatures", - "type": "string[]" - }, - { - "indexed": false, - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endBlock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "eta", - "type": "uint256" - } - ], - "name": "ProposalQueued", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldProposalThreshold", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newProposalThreshold", - "type": "uint256" - } - ], - "name": "ProposalThresholdSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldQuorumNumerator", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newQuorumNumerator", - "type": "uint256" - } - ], - "name": "QuorumNumeratorUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldTimelock", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newTimelock", - "type": "address" - } - ], - "name": "TimelockChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "VoteCast", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "VoteCastWithParams", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldVotingDelay", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVotingDelay", - "type": "uint256" - } - ], - "name": "VotingDelaySet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldVotingPeriod", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newVotingPeriod", - "type": "uint256" - } - ], - "name": "VotingPeriodSet", - "type": "event" - }, - { - "inputs": [], - "name": "BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "COUNTING_MODE", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "EXTENDED_BALLOT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - } - ], - "name": "castVote", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "castVoteWithReason", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "castVoteWithReasonAndParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "support", - "type": "uint8" - }, - { - "internalType": "string", - "name": "reason", - "type": "string" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "castVoteWithReasonAndParamsBySig", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getNumberOfProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "getVotesWithParams", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "hashProposal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalDeadline", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalEta", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "proposalVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "againstVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "forVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "abstainVotes", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "propose", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "calldatas", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "descriptionHash", - "type": "bytes32" - } - ], - "name": "queue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorum", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quorumDenominator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "quorumNumerator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quorumNumerator", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "relay", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "s_proposalCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newProposalThreshold", - "type": "uint256" - } - ], - "name": "setProposalThreshold", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newVotingDelay", - "type": "uint256" - } - ], - "name": "setVotingDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newVotingPeriod", - "type": "uint256" - } - ], - "name": "setVotingPeriod", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "name": "state", - "outputs": [ - { - "internalType": "enum IGovernor.ProposalState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timelock", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IVotes", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newQuorumNumerator", - "type": "uint256" - } - ], - "name": "updateQuorumNumerator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract TimelockController", - "name": "newTimelock", - "type": "address" - } - ], - "name": "updateTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votingPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/context/contracts/chain-info/deployments/5/0x52CEf6aF21605D19F4995792Dfc6E47F15a5d16C.json b/context/contracts/chain-info/deployments/5/0x52CEf6aF21605D19F4995792Dfc6E47F15a5d16C.json deleted file mode 100644 index 8db5b82e..00000000 --- a/context/contracts/chain-info/deployments/5/0x52CEf6aF21605D19F4995792Dfc6E47F15a5d16C.json +++ /dev/null @@ -1,3084 +0,0 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "ValueChanged", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "retrieve", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "store", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "allSourcePaths": { - "0": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/Ownable.sol", - "1": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/utils/Context.sol", - "2": "contracts/Box.sol" - }, - "ast": { - "absolutePath": "contracts/Box.sol", - "exportedSymbols": { - "Box": [ - 35 - ], - "Context": [ - 173 - ], - "Ownable": [ - 151 - ] - }, - "id": 36, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".7" - ], - "nodeType": "PragmaDirective", - "src": "32:23:2" - }, - { - "absolutePath": "/Users/cromewar/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.1/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 2, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 36, - "sourceUnit": 152, - "src": "57:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3, - "name": "Ownable", - "nameLocations": [ - "127:7:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 151, - "src": "127:7:2" - }, - "id": 4, - "nodeType": "InheritanceSpecifier", - "src": "127:7:2" - } - ], - "canonicalName": "Box", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 35, - "linearizedBaseContracts": [ - 35, - 151, - 173 - ], - "name": "Box", - "nameLocation": "120:3:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 6, - "mutability": "mutable", - "name": "value", - "nameLocation": "157:5:2", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "141:21:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "141:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "eventSelector": "93fe6d397c74fdf1402a8b72e47b68512f0510d7b98a4bc4cbdf6ac7108b3c59", - "id": 10, - "name": "ValueChanged", - "nameLocation": "175:12:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8, - "indexed": false, - "mutability": "mutable", - "name": "newValue", - "nameLocation": "196:8:2", - "nodeType": "VariableDeclaration", - "scope": 10, - "src": "188:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "188:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "187:18:2" - }, - "src": "169:37:2" - }, - { - "body": { - "id": 25, - "nodeType": "Block", - "src": "262:70:2", - "statements": [ - { - "expression": { - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 17, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "272:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 18, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "280:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "272:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 20, - "nodeType": "ExpressionStatement", - "src": "272:16:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 22, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 12, - "src": "316:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 21, - "name": "ValueChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10, - "src": "303:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 23, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "303:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 24, - "nodeType": "EmitStatement", - "src": "298:27:2" - } - ] - }, - "functionSelector": "6057361d", - "id": 26, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 15, - "kind": "modifierInvocation", - "modifierName": { - "id": 14, - "name": "onlyOwner", - "nameLocations": [ - "252:9:2" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 70, - "src": "252:9:2" - }, - "nodeType": "ModifierInvocation", - "src": "252:9:2" - } - ], - "name": "store", - "nameLocation": "221:5:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 13, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 12, - "mutability": "mutable", - "name": "newValue", - "nameLocation": "235:8:2", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "227:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 11, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "227:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "226:18:2" - }, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "262:0:2" - }, - "scope": 35, - "src": "212:120:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 33, - "nodeType": "Block", - "src": "388:29:2", - "statements": [ - { - "expression": { - "id": 31, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6, - "src": "405:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 30, - "id": 32, - "nodeType": "Return", - "src": "398:12:2" - } - ] - }, - "functionSelector": "2e64cec1", - "id": 34, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "retrieve", - "nameLocation": "347:8:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27, - "nodeType": "ParameterList", - "parameters": [], - "src": "355:2:2" - }, - "returnParameters": { - "id": 30, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 34, - "src": "379:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 28, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "379:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "378:9:2" - }, - "scope": 35, - "src": "338:79:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 36, - "src": "111:308:2", - "usedErrors": [] - } - ], - "src": "32:388:2" - }, - "bytecode": "608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6102bb8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632e64cec11461005c5780636057361d14610072578063715018a6146100875780638da5cb5b1461008f578063f2fde38b146100aa575b600080fd5b6001546040519081526020015b60405180910390f35b61008561008036600461023c565b6100bd565b005b610085610100565b6000546040516001600160a01b039091168152602001610069565b6100856100b8366004610255565b610114565b6100c5610192565b60018190556040518181527f93fe6d397c74fdf1402a8b72e47b68512f0510d7b98a4bc4cbdf6ac7108b3c599060200160405180910390a150565b610108610192565b61011260006101ec565b565b61011c610192565b6001600160a01b0381166101865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61018f816101ec565b50565b6000546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b81356001600160a01b038116811461027e57600080fd5b939250505056fea2646970667358221220bcc88dd1598585e28d090cc03747fa457cef280cdbf196875f0f8717d0a97ba064736f6c63430008110033", - "bytecodeSha1": "a6c3b82a1ee5f99bfdd53e49b86f0d7202431d7f", - "compiler": { - "evm_version": "istanbul", - "optimizer": { - "enabled": true, - "runs": 200 - }, - "version": "0.8.17+commit.8df45f5f" - }, - "contractName": "Box", - "coverageMap": { - "branches": { - "0": { - "Ownable._checkOwner": { - "12": [ - 1422, - 1445, - true - ] - }, - "Ownable.transferOwnership": { - "11": [ - 2169, - 2191, - true - ] - } - }, - "1": {}, - "2": {} - }, - "statements": { - "0": { - "Ownable._checkOwner": { - "8": [ - 1414, - 1482 - ] - }, - "Ownable._transferOwnership": { - "9": [ - 2541, - 2558 - ], - "10": [ - 2568, - 2613 - ] - }, - "Ownable.owner": { - "1": [ - 1266, - 1279 - ] - }, - "Ownable.renounceOwnership": { - "4": [ - 1895, - 1925 - ] - }, - "Ownable.transferOwnership": { - "5": [ - 2161, - 2234 - ], - "6": [ - 2244, - 2272 - ] - } - }, - "1": { - "Context._msgSender": { - "7": [ - 712, - 729 - ] - } - }, - "2": { - "Box.retrieve": { - "0": [ - 398, - 410 - ] - }, - "Box.store": { - "2": [ - 272, - 288 - ], - "3": [ - 298, - 325 - ] - } - } - } - }, - "dependencies": [ - "OpenZeppelin/openzeppelin-contracts@4.8.1/Context", - "OpenZeppelin/openzeppelin-contracts@4.8.1/Ownable" - ], - "deployedBytecode": "608060405234801561001057600080fd5b50600436106100575760003560e01c80632e64cec11461005c5780636057361d14610072578063715018a6146100875780638da5cb5b1461008f578063f2fde38b146100aa575b600080fd5b6001546040519081526020015b60405180910390f35b61008561008036600461023c565b6100bd565b005b610085610100565b6000546040516001600160a01b039091168152602001610069565b6100856100b8366004610255565b610114565b6100c5610192565b60018190556040518181527f93fe6d397c74fdf1402a8b72e47b68512f0510d7b98a4bc4cbdf6ac7108b3c599060200160405180910390a150565b610108610192565b61011260006101ec565b565b61011c610192565b6001600160a01b0381166101865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61018f816101ec565b50565b6000546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b81356001600160a01b038116811461027e57600080fd5b939250505056fea2646970667358221220bcc88dd1598585e28d090cc03747fa457cef280cdbf196875f0f8717d0a97ba064736f6c63430008110033", - "deployedSourceMap": "111:308:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;338:79;405:5;;338:79;;160:25:4;;;148:2;133:18;338:79:2;;;;;;;;212:120;;;;;;:::i;:::-;;:::i;:::-;;1831:101:0;;;:::i;1201:85::-;1247:7;1273:6;1201:85;;-1:-1:-1;;;;;1273:6:0;;;527:51:4;;515:2;500:18;1201:85:0;381:203:4;2081:198:0;;;;;;:::i;:::-;;:::i;212:120:2:-;1094:13:0;:11;:13::i;:::-;272:5:2::1;:16:::0;;;303:22:::1;::::0;160:25:4;;;303:22:2::1;::::0;148:2:4;133:18;303:22:2::1;;;;;;;212:120:::0;:::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;2081:198::-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:0;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:0;;1082:2:4;2161:73:0::1;::::0;::::1;1064:21:4::0;1121:2;1101:18;;;1094:30;1160:34;1140:18;;;1133:62;-1:-1:-1;;;1211:18:4;;;1204:36;1257:19;;2161:73:0::1;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;719:10:1;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;1489:2:4;1414:68:0;;;1471:21:4;;;1508:18;;;1501:30;1567:34;1547:18;;;1540:62;1619:18;;1414:68:0;1287:356:4;2433:187:0;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;196:180:4:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:4;;196:180;-1:-1:-1;196:180:4:o;589:286::-;648:6;701:2;689:9;680:7;676:23;672:32;669:52;;;717:1;714;707:12;669:52;743:23;;-1:-1:-1;;;;;795:31:4;;785:42;;775:70;;841:1;838;831:12;775:70;864:5;589:286;-1:-1:-1;;;589:286:4:o", - "language": "Solidity", - "natspec": { - "kind": "dev", - "methods": { - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "offset": [ - 111, - 419 - ], - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x72 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x87 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xAA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x85 PUSH2 0x80 CALLDATASIZE PUSH1 0x4 PUSH2 0x23C JUMP JUMPDEST PUSH2 0xBD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x85 PUSH2 0x100 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x69 JUMP JUMPDEST PUSH2 0x85 PUSH2 0xB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x255 JUMP JUMPDEST PUSH2 0x114 JUMP JUMPDEST PUSH2 0xC5 PUSH2 0x192 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH32 0x93FE6D397C74FDF1402A8B72E47B68512F0510D7B98A4BC4CBDF6AC7108B3C59 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH2 0x108 PUSH2 0x192 JUMP JUMPDEST PUSH2 0x112 PUSH1 0x0 PUSH2 0x1EC JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x11C PUSH2 0x192 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x186 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x18F DUP2 PUSH2 0x1EC JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x112 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x17D JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x24E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x27E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBC 0xC8 DUP14 0xD1 MSIZE DUP6 DUP6 0xE2 DUP14 MULMOD 0xC 0xC0 CALLDATACOPY SELFBALANCE STATICCALL GASLIMIT PUSH29 0xEF280CDBF196875F0F8717D0A97BA064736F6C63430008110033000000 ", - "pcMap": { - "0": { - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x80" - }, - "2": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "4": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "MSTORE", - "path": "2" - }, - "5": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "CALLVALUE", - "path": "2" - }, - "6": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "7": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "ISZERO", - "path": "2" - }, - "8": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x10" - }, - "11": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "12": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x0" - }, - "14": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "15": { - "dev": "Cannot send ether to nonpayable function", - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "REVERT", - "path": "2" - }, - "16": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPDEST", - "path": "2" - }, - "17": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "POP", - "path": "2" - }, - "18": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x4" - }, - "20": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "CALLDATASIZE", - "path": "2" - }, - "21": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "LT", - "path": "2" - }, - "22": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x57" - }, - "25": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "26": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x0" - }, - "28": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "CALLDATALOAD", - "path": "2" - }, - "29": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0xE0" - }, - "31": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "SHR", - "path": "2" - }, - "32": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "33": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x2E64CEC1" - }, - "38": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "39": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x5C" - }, - "42": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "43": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "44": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x6057361D" - }, - "49": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "50": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x72" - }, - "53": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "54": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "55": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x715018A6" - }, - "60": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "61": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x87" - }, - "64": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "65": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "66": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0x8DA5CB5B" - }, - "71": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "72": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0x8F" - }, - "75": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "76": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "77": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH4", - "path": "2", - "value": "0xF2FDE38B" - }, - "82": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "EQ", - "path": "2" - }, - "83": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH2", - "path": "2", - "value": "0xAA" - }, - "86": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPI", - "path": "2" - }, - "87": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "JUMPDEST", - "path": "2" - }, - "88": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "PUSH1", - "path": "2", - "value": "0x0" - }, - "90": { - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "DUP1", - "path": "2" - }, - "91": { - "first_revert": true, - "fn": null, - "offset": [ - 111, - 419 - ], - "op": "REVERT", - "path": "2" - }, - "92": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "JUMPDEST", - "path": "2" - }, - "93": { - "fn": "Box.retrieve", - "offset": [ - 405, - 410 - ], - "op": "PUSH1", - "path": "2", - "statement": 0, - "value": "0x1" - }, - "95": { - "fn": "Box.retrieve", - "offset": [ - 405, - 410 - ], - "op": "SLOAD", - "path": "2" - }, - "96": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "98": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "MLOAD", - "path": "2" - }, - "99": { - "op": "SWAP1" - }, - "100": { - "op": "DUP2" - }, - "101": { - "op": "MSTORE" - }, - "102": { - "op": "PUSH1", - "value": "0x20" - }, - "104": { - "op": "ADD" - }, - "105": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "JUMPDEST", - "path": "2" - }, - "106": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "108": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "MLOAD", - "path": "2" - }, - "109": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "DUP1", - "path": "2" - }, - "110": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "SWAP2", - "path": "2" - }, - "111": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "SUB", - "path": "2" - }, - "112": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "SWAP1", - "path": "2" - }, - "113": { - "fn": "Box.retrieve", - "offset": [ - 338, - 417 - ], - "op": "RETURN", - "path": "2" - }, - "114": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "115": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0x85" - }, - "118": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0x80" - }, - "121": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "CALLDATASIZE", - "path": "2" - }, - "122": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH1", - "path": "2", - "value": "0x4" - }, - "124": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0x23C" - }, - "127": { - "fn": "Box.store", - "jump": "i", - "offset": [ - 212, - 332 - ], - "op": "JUMP", - "path": "2" - }, - "128": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "129": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "PUSH2", - "path": "2", - "value": "0xBD" - }, - "132": { - "fn": "Box.store", - "jump": "i", - "offset": [ - 212, - 332 - ], - "op": "JUMP", - "path": "2" - }, - "133": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "134": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "STOP", - "path": "2" - }, - "135": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "JUMPDEST", - "path": "0" - }, - "136": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "PUSH2", - "path": "0", - "value": "0x85" - }, - "139": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "PUSH2", - "path": "0", - "value": "0x100" - }, - "142": { - "fn": "Ownable.renounceOwnership", - "jump": "i", - "offset": [ - 1831, - 1932 - ], - "op": "JUMP", - "path": "0" - }, - "143": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "JUMPDEST", - "path": "0" - }, - "144": { - "fn": "Ownable.owner", - "offset": [ - 1247, - 1254 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "146": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SLOAD", - "path": "0", - "statement": 1 - }, - "147": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "149": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "MLOAD", - "path": "0" - }, - "150": { - "op": "PUSH1", - "value": "0x1" - }, - "152": { - "op": "PUSH1", - "value": "0x1" - }, - "154": { - "op": "PUSH1", - "value": "0xA0" - }, - "156": { - "op": "SHL" - }, - "157": { - "op": "SUB" - }, - "158": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SWAP1", - "path": "0" - }, - "159": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SWAP2", - "path": "0" - }, - "160": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "AND", - "path": "0" - }, - "161": { - "op": "DUP2" - }, - "162": { - "op": "MSTORE" - }, - "163": { - "op": "PUSH1", - "value": "0x20" - }, - "165": { - "op": "ADD" - }, - "166": { - "fn": "Ownable.owner", - "offset": [ - 1201, - 1286 - ], - "op": "PUSH2", - "path": "0", - "value": "0x69" - }, - "169": { - "op": "JUMP" - }, - "170": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "JUMPDEST", - "path": "0" - }, - "171": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0x85" - }, - "174": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0xB8" - }, - "177": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "CALLDATASIZE", - "path": "0" - }, - "178": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "180": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0x255" - }, - "183": { - "fn": "Ownable.transferOwnership", - "jump": "i", - "offset": [ - 2081, - 2279 - ], - "op": "JUMP", - "path": "0" - }, - "184": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "JUMPDEST", - "path": "0" - }, - "185": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "PUSH2", - "path": "0", - "value": "0x114" - }, - "188": { - "fn": "Ownable.transferOwnership", - "jump": "i", - "offset": [ - 2081, - 2279 - ], - "op": "JUMP", - "path": "0" - }, - "189": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "JUMPDEST", - "path": "2" - }, - "190": { - "offset": [ - 1094, - 1107 - ], - "op": "PUSH2", - "path": "0", - "value": "0xC5" - }, - "193": { - "offset": [ - 1094, - 1105 - ], - "op": "PUSH2", - "path": "0", - "value": "0x192" - }, - "196": { - "jump": "i", - "offset": [ - 1094, - 1107 - ], - "op": "JUMP", - "path": "0" - }, - "197": { - "fn": "Box.store", - "offset": [ - 1094, - 1107 - ], - "op": "JUMPDEST", - "path": "0" - }, - "198": { - "fn": "Box.store", - "offset": [ - 272, - 277 - ], - "op": "PUSH1", - "path": "2", - "statement": 2, - "value": "0x1" - }, - "200": { - "fn": "Box.store", - "offset": [ - 272, - 288 - ], - "op": "DUP2", - "path": "2" - }, - "201": { - "fn": "Box.store", - "offset": [ - 272, - 288 - ], - "op": "SWAP1", - "path": "2" - }, - "202": { - "fn": "Box.store", - "offset": [ - 272, - 288 - ], - "op": "SSTORE", - "path": "2" - }, - "203": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "PUSH1", - "path": "2", - "statement": 3, - "value": "0x40" - }, - "205": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "MLOAD", - "path": "2" - }, - "206": { - "op": "DUP2" - }, - "207": { - "op": "DUP2" - }, - "208": { - "op": "MSTORE" - }, - "209": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "PUSH32", - "path": "2", - "value": "0x93FE6D397C74FDF1402A8B72E47B68512F0510D7B98A4BC4CBDF6AC7108B3C59" - }, - "242": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SWAP1", - "path": "2" - }, - "243": { - "op": "PUSH1", - "value": "0x20" - }, - "245": { - "op": "ADD" - }, - "246": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "PUSH1", - "path": "2", - "value": "0x40" - }, - "248": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "MLOAD", - "path": "2" - }, - "249": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "DUP1", - "path": "2" - }, - "250": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SWAP2", - "path": "2" - }, - "251": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SUB", - "path": "2" - }, - "252": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "SWAP1", - "path": "2" - }, - "253": { - "fn": "Box.store", - "offset": [ - 303, - 325 - ], - "op": "LOG1", - "path": "2" - }, - "254": { - "fn": "Box.store", - "offset": [ - 212, - 332 - ], - "op": "POP", - "path": "2" - }, - "255": { - "fn": "Box.store", - "jump": "o", - "offset": [ - 212, - 332 - ], - "op": "JUMP", - "path": "2" - }, - "256": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1831, - 1932 - ], - "op": "JUMPDEST", - "path": "0" - }, - "257": { - "offset": [ - 1094, - 1107 - ], - "op": "PUSH2", - "path": "0", - "value": "0x108" - }, - "260": { - "offset": [ - 1094, - 1105 - ], - "op": "PUSH2", - "path": "0", - "value": "0x192" - }, - "263": { - "jump": "i", - "offset": [ - 1094, - 1107 - ], - "op": "JUMP", - "path": "0" - }, - "264": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1094, - 1107 - ], - "op": "JUMPDEST", - "path": "0" - }, - "265": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1895, - 1925 - ], - "op": "PUSH2", - "path": "0", - "statement": 4, - "value": "0x112" - }, - "268": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1922, - 1923 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "270": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1895, - 1913 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1EC" - }, - "273": { - "fn": "Ownable.renounceOwnership", - "jump": "i", - "offset": [ - 1895, - 1925 - ], - "op": "JUMP", - "path": "0" - }, - "274": { - "fn": "Ownable.renounceOwnership", - "offset": [ - 1895, - 1925 - ], - "op": "JUMPDEST", - "path": "0" - }, - "275": { - "fn": "Ownable.renounceOwnership", - "jump": "o", - "offset": [ - 1831, - 1932 - ], - "op": "JUMP", - "path": "0" - }, - "276": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "JUMPDEST", - "path": "0" - }, - "277": { - "offset": [ - 1094, - 1107 - ], - "op": "PUSH2", - "path": "0", - "value": "0x11C" - }, - "280": { - "offset": [ - 1094, - 1105 - ], - "op": "PUSH2", - "path": "0", - "value": "0x192" - }, - "283": { - "jump": "i", - "offset": [ - 1094, - 1107 - ], - "op": "JUMP", - "path": "0" - }, - "284": { - "fn": "Ownable.transferOwnership", - "offset": [ - 1094, - 1107 - ], - "op": "JUMPDEST", - "path": "0" - }, - "285": { - "op": "PUSH1", - "value": "0x1" - }, - "287": { - "op": "PUSH1", - "value": "0x1" - }, - "289": { - "op": "PUSH1", - "value": "0xA0" - }, - "291": { - "op": "SHL" - }, - "292": { - "op": "SUB" - }, - "293": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2169, - 2191 - ], - "op": "DUP2", - "path": "0", - "statement": 5 - }, - "294": { - "branch": 11, - "fn": "Ownable.transferOwnership", - "offset": [ - 2169, - 2191 - ], - "op": "AND", - "path": "0" - }, - "295": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH2", - "path": "0", - "value": "0x186" - }, - "298": { - "branch": 11, - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "JUMPI", - "path": "0" - }, - "299": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "301": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "MLOAD", - "path": "0" - }, - "302": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "306": { - "op": "PUSH1", - "value": "0xE5" - }, - "308": { - "op": "SHL" - }, - "309": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "DUP2", - "path": "0" - }, - "310": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "MSTORE", - "path": "0" - }, - "311": { - "op": "PUSH1", - "value": "0x20" - }, - "313": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "315": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "DUP3", - "path": "0" - }, - "316": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "ADD", - "path": "0" - }, - "317": { - "op": "MSTORE" - }, - "318": { - "op": "PUSH1", - "value": "0x26" - }, - "320": { - "op": "PUSH1", - "value": "0x24" - }, - "322": { - "op": "DUP3" - }, - "323": { - "op": "ADD" - }, - "324": { - "op": "MSTORE" - }, - "325": { - "op": "PUSH32", - "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" - }, - "358": { - "op": "PUSH1", - "value": "0x44" - }, - "360": { - "op": "DUP3" - }, - "361": { - "op": "ADD" - }, - "362": { - "op": "MSTORE" - }, - "363": { - "op": "PUSH6", - "value": "0x646472657373" - }, - "370": { - "op": "PUSH1", - "value": "0xD0" - }, - "372": { - "op": "SHL" - }, - "373": { - "op": "PUSH1", - "value": "0x64" - }, - "375": { - "op": "DUP3" - }, - "376": { - "op": "ADD" - }, - "377": { - "op": "MSTORE" - }, - "378": { - "op": "PUSH1", - "value": "0x84" - }, - "380": { - "op": "ADD" - }, - "381": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "JUMPDEST", - "path": "0" - }, - "382": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "384": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "MLOAD", - "path": "0" - }, - "385": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "DUP1", - "path": "0" - }, - "386": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "SWAP2", - "path": "0" - }, - "387": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "SUB", - "path": "0" - }, - "388": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "SWAP1", - "path": "0" - }, - "389": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "REVERT", - "optimizer_revert": true, - "path": "0" - }, - "390": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2161, - 2234 - ], - "op": "JUMPDEST", - "path": "0" - }, - "391": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2244, - 2272 - ], - "op": "PUSH2", - "path": "0", - "statement": 6, - "value": "0x18F" - }, - "394": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2263, - 2271 - ], - "op": "DUP2", - "path": "0" - }, - "395": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2244, - 2262 - ], - "op": "PUSH2", - "path": "0", - "value": "0x1EC" - }, - "398": { - "fn": "Ownable.transferOwnership", - "jump": "i", - "offset": [ - 2244, - 2272 - ], - "op": "JUMP", - "path": "0" - }, - "399": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2244, - 2272 - ], - "op": "JUMPDEST", - "path": "0" - }, - "400": { - "fn": "Ownable.transferOwnership", - "offset": [ - 2081, - 2279 - ], - "op": "POP", - "path": "0" - }, - "401": { - "fn": "Ownable.transferOwnership", - "jump": "o", - "offset": [ - 2081, - 2279 - ], - "op": "JUMP", - "path": "0" - }, - "402": { - "fn": "Ownable._checkOwner", - "offset": [ - 1359, - 1489 - ], - "op": "JUMPDEST", - "path": "0" - }, - "403": { - "fn": "Ownable.owner", - "offset": [ - 1247, - 1254 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "405": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "SLOAD", - "path": "0" - }, - "406": { - "op": "PUSH1", - "value": "0x1" - }, - "408": { - "op": "PUSH1", - "value": "0x1" - }, - "410": { - "op": "PUSH1", - "value": "0xA0" - }, - "412": { - "op": "SHL" - }, - "413": { - "op": "SUB" - }, - "414": { - "fn": "Ownable.owner", - "offset": [ - 1273, - 1279 - ], - "op": "AND", - "path": "0" - }, - "415": { - "fn": "Context._msgSender", - "offset": [ - 719, - 729 - ], - "op": "CALLER", - "path": "1", - "statement": 7 - }, - "416": { - "branch": 12, - "fn": "Ownable._checkOwner", - "offset": [ - 1422, - 1445 - ], - "op": "EQ", - "path": "0", - "statement": 8 - }, - "417": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH2", - "path": "0", - "value": "0x112" - }, - "420": { - "branch": 12, - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "JUMPI", - "path": "0" - }, - "421": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH1", - "path": "0", - "value": "0x40" - }, - "423": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "MLOAD", - "path": "0" - }, - "424": { - "op": "PUSH3", - "value": "0x461BCD" - }, - "428": { - "op": "PUSH1", - "value": "0xE5" - }, - "430": { - "op": "SHL" - }, - "431": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "DUP2", - "path": "0" - }, - "432": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "MSTORE", - "path": "0" - }, - "433": { - "op": "PUSH1", - "value": "0x20" - }, - "435": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH1", - "path": "0", - "value": "0x4" - }, - "437": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "DUP3", - "path": "0" - }, - "438": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "ADD", - "path": "0" - }, - "439": { - "op": "DUP2" - }, - "440": { - "op": "SWAP1" - }, - "441": { - "op": "MSTORE" - }, - "442": { - "op": "PUSH1", - "value": "0x24" - }, - "444": { - "op": "DUP3" - }, - "445": { - "op": "ADD" - }, - "446": { - "op": "MSTORE" - }, - "447": { - "op": "PUSH32", - "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" - }, - "480": { - "op": "PUSH1", - "value": "0x44" - }, - "482": { - "op": "DUP3" - }, - "483": { - "op": "ADD" - }, - "484": { - "op": "MSTORE" - }, - "485": { - "op": "PUSH1", - "value": "0x64" - }, - "487": { - "op": "ADD" - }, - "488": { - "fn": "Ownable._checkOwner", - "offset": [ - 1414, - 1482 - ], - "op": "PUSH2", - "path": "0", - "value": "0x17D" - }, - "491": { - "op": "JUMP" - }, - "492": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2433, - 2620 - ], - "op": "JUMPDEST", - "path": "0" - }, - "493": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2506, - 2522 - ], - "op": "PUSH1", - "path": "0", - "value": "0x0" - }, - "495": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "DUP1", - "path": "0" - }, - "496": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SLOAD", - "path": "0" - }, - "497": { - "op": "PUSH1", - "value": "0x1" - }, - "499": { - "op": "PUSH1", - "value": "0x1" - }, - "501": { - "op": "PUSH1", - "value": "0xA0" - }, - "503": { - "op": "SHL" - }, - "504": { - "op": "SUB" - }, - "505": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP4", - "path": "0", - "statement": 9 - }, - "506": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP2", - "path": "0" - }, - "507": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "AND", - "path": "0" - }, - "508": { - "op": "PUSH1", - "value": "0x1" - }, - "510": { - "op": "PUSH1", - "value": "0x1" - }, - "512": { - "op": "PUSH1", - "value": "0xA0" - }, - "514": { - "op": "SHL" - }, - "515": { - "op": "SUB" - }, - "516": { - "op": "NOT" - }, - "517": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP4", - "path": "0" - }, - "518": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "AND", - "path": "0" - }, - "519": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP2", - "path": "0" - }, - "520": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "OR", - "path": "0" - }, - "521": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "DUP5", - "path": "0" - }, - "522": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2541, - 2558 - ], - "op": "SSTORE", - "path": "0" - }, - "523": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "PUSH1", - "path": "0", - "statement": 10, - "value": "0x40" - }, - "525": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "MLOAD", - "path": "0" - }, - "526": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP2", - "path": "0" - }, - "527": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP1", - "path": "0" - }, - "528": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP3", - "path": "0" - }, - "529": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "AND", - "path": "0" - }, - "530": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP3", - "path": "0" - }, - "531": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "DUP4", - "path": "0" - }, - "532": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2525, - 2531 - ], - "op": "SWAP2", - "path": "0" - }, - "533": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "PUSH32", - "path": "0", - "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" - }, - "566": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "SWAP2", - "path": "0" - }, - "567": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2506, - 2522 - ], - "op": "SWAP1", - "path": "0" - }, - "568": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2573, - 2613 - ], - "op": "LOG3", - "path": "0" - }, - "569": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2496, - 2620 - ], - "op": "POP", - "path": "0" - }, - "570": { - "fn": "Ownable._transferOwnership", - "offset": [ - 2433, - 2620 - ], - "op": "POP", - "path": "0" - }, - "571": { - "fn": "Ownable._transferOwnership", - "jump": "o", - "offset": [ - 2433, - 2620 - ], - "op": "JUMP", - "path": "0" - }, - "572": { - "op": "JUMPDEST" - }, - "573": { - "op": "PUSH1", - "value": "0x0" - }, - "575": { - "op": "PUSH1", - "value": "0x20" - }, - "577": { - "op": "DUP3" - }, - "578": { - "op": "DUP5" - }, - "579": { - "op": "SUB" - }, - "580": { - "op": "SLT" - }, - "581": { - "op": "ISZERO" - }, - "582": { - "op": "PUSH2", - "value": "0x24E" - }, - "585": { - "op": "JUMPI" - }, - "586": { - "op": "PUSH1", - "value": "0x0" - }, - "588": { - "op": "DUP1" - }, - "589": { - "op": "REVERT" - }, - "590": { - "op": "JUMPDEST" - }, - "591": { - "op": "POP" - }, - "592": { - "op": "CALLDATALOAD" - }, - "593": { - "op": "SWAP2" - }, - "594": { - "op": "SWAP1" - }, - "595": { - "op": "POP" - }, - "596": { - "jump": "o", - "op": "JUMP" - }, - "597": { - "op": "JUMPDEST" - }, - "598": { - "op": "PUSH1", - "value": "0x0" - }, - "600": { - "op": "PUSH1", - "value": "0x20" - }, - "602": { - "op": "DUP3" - }, - "603": { - "op": "DUP5" - }, - "604": { - "op": "SUB" - }, - "605": { - "op": "SLT" - }, - "606": { - "op": "ISZERO" - }, - "607": { - "op": "PUSH2", - "value": "0x267" - }, - "610": { - "op": "JUMPI" - }, - "611": { - "op": "PUSH1", - "value": "0x0" - }, - "613": { - "op": "DUP1" - }, - "614": { - "op": "REVERT" - }, - "615": { - "op": "JUMPDEST" - }, - "616": { - "op": "DUP2" - }, - "617": { - "op": "CALLDATALOAD" - }, - "618": { - "op": "PUSH1", - "value": "0x1" - }, - "620": { - "op": "PUSH1", - "value": "0x1" - }, - "622": { - "op": "PUSH1", - "value": "0xA0" - }, - "624": { - "op": "SHL" - }, - "625": { - "op": "SUB" - }, - "626": { - "op": "DUP2" - }, - "627": { - "op": "AND" - }, - "628": { - "op": "DUP2" - }, - "629": { - "op": "EQ" - }, - "630": { - "op": "PUSH2", - "value": "0x27E" - }, - "633": { - "op": "JUMPI" - }, - "634": { - "op": "PUSH1", - "value": "0x0" - }, - "636": { - "op": "DUP1" - }, - "637": { - "op": "REVERT" - }, - "638": { - "op": "JUMPDEST" - }, - "639": { - "op": "SWAP4" - }, - "640": { - "op": "SWAP3" - }, - "641": { - "op": "POP" - }, - "642": { - "op": "POP" - }, - "643": { - "op": "POP" - }, - "644": { - "jump": "o", - "op": "JUMP" - } - }, - "sha1": "41fdd4e8f838481493e8bc53aeeb70c0a916bb13", - "source": "//SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.7;\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract Box is Ownable {\n uint256 private value;\n\n event ValueChanged(uint256 newValue);\n\n function store(uint256 newValue) public onlyOwner {\n value = newValue;\n emit ValueChanged(newValue);\n }\n\n function retrieve() public view returns (uint256) {\n return value;\n }\n}\n", - "sourceMap": "111:308:2:-:0;;;;;;;;;;;;-1:-1:-1;936:32:0;719:10:1;936:18:0;:32::i;:::-;111:308:2;;2433:187:0;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;111:308:2:-;;;;;;;", - "sourcePath": "contracts/Box.sol", - "type": "contract" - } \ No newline at end of file diff --git a/context/contracts/chain-info/deployments/5/0x9674d70108A24EF1e49550693163c4C9354788eD.json b/context/contracts/chain-info/deployments/5/0x9674d70108A24EF1e49550693163c4C9354788eD.json deleted file mode 100644 index e4778b6a..00000000 --- a/context/contracts/chain-info/deployments/5/0x9674d70108A24EF1e49550693163c4C9354788eD.json +++ /dev/null @@ -1,716 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_keepPercentage", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fromDelegate", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "toDelegate", - "type": "address" - } - ], - "name": "DelegateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "delegate", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "previousBalance", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newBalance", - "type": "uint256" - } - ], - "name": "DelegateVotesChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenBurned", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenMinted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint32", - "name": "pos", - "type": "uint32" - } - ], - "name": "checkpoints", - "outputs": [ - { - "components": [ - { - "internalType": "uint32", - "name": "fromBlock", - "type": "uint32" - }, - { - "internalType": "uint224", - "name": "votes", - "type": "uint224" - } - ], - "internalType": "struct ERC20Votes.Checkpoint", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "name": "delegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "delegateBySig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "delegates", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getHolderLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastTotalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "name": "getPastVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getVotes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "numCheckpoints", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "s_claimedTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "s_holders", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/context/contracts/chain-info/deployments/5/0xcfBC146f1c846Fde4908775580ec5d942B5bdb71.json b/context/contracts/chain-info/deployments/5/0xcfBC146f1c846Fde4908775580ec5d942B5bdb71.json deleted file mode 100644 index 9662a632..00000000 --- a/context/contracts/chain-info/deployments/5/0xcfBC146f1c846Fde4908775580ec5d942B5bdb71.json +++ /dev/null @@ -1,872 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "uint256", - "name": "minDelay", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "proposers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "executors", - "type": "address[]" - }, - { - "internalType": "address", - "name": "admin", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "CallExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "CallScheduled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "Cancelled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldDuration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newDuration", - "type": "uint256" - } - ], - "name": "MinDelayChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32" - } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "RoleRevoked", - "type": "event" - }, - { - "inputs": [], - "name": "CANCELLER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXECUTOR_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PROPOSER_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TIMELOCK_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "cancel", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "executeBatch", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getMinDelay", - "outputs": [ - { - "internalType": "uint256", - "name": "duration", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "hashOperation", - "outputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "hashOperationBatch", - "outputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperation", - "outputs": [ - { - "internalType": "bool", - "name": "registered", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationDone", - "outputs": [ - { - "internalType": "bool", - "name": "done", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationPending", - "outputs": [ - { - "internalType": "bool", - "name": "pending", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "id", - "type": "bytes32" - } - ], - "name": "isOperationReady", - "outputs": [ - { - "internalType": "bool", - "name": "ready", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "schedule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "targets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "values", - "type": "uint256[]" - }, - { - "internalType": "bytes[]", - "name": "payloads", - "type": "bytes[]" - }, - { - "internalType": "bytes32", - "name": "predecessor", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "delay", - "type": "uint256" - } - ], - "name": "scheduleBatch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newDelay", - "type": "uint256" - } - ], - "name": "updateDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } -] \ No newline at end of file diff --git a/context/contracts/chain-info/deployments/map.json b/context/contracts/chain-info/deployments/map.json deleted file mode 100644 index 4573b003..00000000 --- a/context/contracts/chain-info/deployments/map.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "5": { - "Box": [ - "0x52CEf6aF21605D19F4995792Dfc6E47F15a5d16C" - ], - "GovernanceToken": [ - "0x9674d70108A24EF1e49550693163c4C9354788eD" - ], - "AnomalyGovernor": [ - "0x120ab2B75F348E726c53dAAc3C8887c4c491ca03" - ], - "TimeLock": [ - "0xcfBC146f1c846Fde4908775580ec5d942B5bdb71" - ] - } -} \ No newline at end of file diff --git a/context/contracts/governance/Box.sol b/context/contracts/governance/Box.sol deleted file mode 100644 index fcdbbbcb..00000000 --- a/context/contracts/governance/Box.sol +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.7; - -import "@openzeppelin/contracts/access/Ownable.sol"; - -contract Box is Ownable { - uint256 private value; - event ValueChanged(uint256 newValue); - - function store(uint256 newValue) public onlyOwner { - value = newValue; - emit ValueChanged(newValue); - } - - function retrieve() public view returns (uint256) { - return value; - } -} \ No newline at end of file diff --git a/context/contracts/governance/GovernanceToken.sol b/context/contracts/governance/GovernanceToken.sol deleted file mode 100644 index 8649dad9..00000000 --- a/context/contracts/governance/GovernanceToken.sol +++ /dev/null @@ -1,67 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.7; - -import "@openzeppelin/contracts/token/ERC20/Extensions/ERC20Votes.sol"; - -contract GovernanceToken is ERC20Votes { - event TokenTransferred ( - address indexed from, - address indexed to, - uint256 amount - ); - - event TokenMinted(address indexed to, uint256 amount); - event TokenBurned(address indexed from, uint256 amount); - - uint256 constant TOTAL_SUPPLY = 1000000 * 10**18; - - // Free token airdrop - uint256 constant TOKENS_PER_USER = 1000; // Each user can receive 1,000 tokens for free - mapping(address => bool) public s_claimedTokens; // Allow users to only claim their free tokens once - address[] public s_holders; - - constructor(uint256 _keepPercentage) ERC20("Kinetika", "SKK") ERC20Permit("Kinetika") { - uint256 keepAmount = (TOTAL_SUPPLY * _keepPercentage) / 100; - _mint(msg.sender, TOTAL_SUPPLY); - _transfer(msg.sender, address(this), TOTAL_SUPPLY - keepAmount); - s_holders.push(msg.sender); - } - - // Prevent users from claiming their free airdrop >1 - function claimTokens () external { - require(!s_claimedTokens[msg.sender], "You've already claimed your free tokens"); - s_claimedTokens[msg.sender] = true; - _transfer(address(this), msg.sender, TOKENS_PER_USER * 10**18); - s_holders.push(msg.sender); - } - - // How many holders does this contract have? - function getHolderLength() external view returns (uint256) { - return s_holders.length; - } - - // Solidity overrides - function _afterTokenTransfer ( - address from, - address to, - uint256 amount - ) internal override(ERC20Votes) { - super._afterTokenTransfer(from, to, amount); - emit TokenTransferred(from, to, amount); - } - - function _mint( - address to, uint256 amount - ) internal override(ERC20Votes) { - super._mint(to, amount); - emit TokenMinted(to, amount); - } - - function _burn( - address account, - uint256 amount - ) internal override(ERC20Votes) { - super._burn(account, amount); - emit TokenBurned(account, amount); - } -} \ No newline at end of file diff --git a/context/contracts/governance/MoralisGovernor.sol b/context/contracts/governance/MoralisGovernor.sol deleted file mode 100644 index 02f36d45..00000000 --- a/context/contracts/governance/MoralisGovernor.sol +++ /dev/null @@ -1,95 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.9; - -import "@openzeppelin/contracts/governance/Governor.sol"; -import "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol"; -import "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol"; -import "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol"; -import "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol"; -import "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol"; - -contract AnomalyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl { - uint public s_proposalCount; // Proposal counts - - constructor( - IVotes _token, - TimelockController _timelock, - uint256 _votingDelay, - uint256 _votingPeriod, - uint256 _quorumPercentage - ) - Governor("Governor") - GovernorSettings( - _votingDelay, /* 1 => 1 block */ - _votingPeriod, /* 300 blocks => 1 hour */ - 0 /* 0 => Because we want anyone to be able to create a proposal */ - ) - GovernorVotes(_token) - GovernorVotesQuorumFraction(_quorumPercentage) /* 4 => 4% */ - GovernorTimelockControl(_timelock) - { - s_proposalCount = 0; - } - - // Overrides required by Solidity - function votingDelay() public view override(IGovernor, GovernorSettings) returns (uint256) { - return super.votingDelay(); - } - - function votingPeriod() public view override(IGovernor, GovernorSettings) returns (uint256) { - return super.votingPeriod(); - } - - function quorum(uint256 blockNumber) public view override(IGovernor, GovernorVotesQuorumFraction) returns(uint256) { - return super.quorum(blockNumber); - } - - function state(uint256 proposalId) public view override(Governor, GovernorTimelockControl) returns (ProposalState) { - return super.state(proposalId); - } - - function propose( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - string memory description - ) public override(Governor, IGovernor) returns (uint256) { - s_proposalCount++; - return super.propose(targets, values, calldatas, description); - } - - function proposalThreshold() public view override(Governor, GovernorSettings) returns (uint256) { - return super.proposalThreshold(); - } - - function _execute( - uint256 proposalId, - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) internal override(Governor, GovernorTimelockControl) { - super._execute(proposalId, targets, values, calldatas, descriptionHash); - } - - function _cancel( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) internal override(Governor, GovernorTimelockControl) returns (uint256) { - return super._cancel(targets, values, calldatas, descriptionHash); - } - - function _executor() internal view override(Governor, GovernorTimelockControl) returns (address) { - return super._executor(); - } - - function supportsInterface(bytes4 interfaceId) public view override(Governor, GovernorTimelockControl) returns (bool) { - return super.supportsInterface(interfaceId); - } - - function getNumberOfProposals() public view returns (uint256) { - return s_proposalCount; - } -} \ No newline at end of file diff --git a/context/contracts/governance/TimeLock.sol b/context/contracts/governance/TimeLock.sol deleted file mode 100644 index a7d85340..00000000 --- a/context/contracts/governance/TimeLock.sol +++ /dev/null @@ -1,13 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.9; - -import "@openzeppelin/contracts/governance/TimelockController.sol"; - -contract TimeLock is TimelockController { - constructor ( - uint256 minDelay, - address[] memory proposers, - address[] memory executors, - address admin - ) TimelockController(minDelay, proposers, executors, admin) {} -} \ No newline at end of file diff --git a/contracts/extension 2/ContractMetadata.sol b/contracts/extension 2/ContractMetadata.sol deleted file mode 100644 index c0d4825c..00000000 --- a/contracts/extension 2/ContractMetadata.sol +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -pragma solidity ^0.8.0; - -import "./interface/IContractMetadata.sol"; - -/** - * @title Contract Metadata - * @notice Thirdweb's `ContractMetadata` is a contract extension for any base contracts. It lets you set a metadata URI - * for you contract. - * Additionally, `ContractMetadata` is necessary for NFT contracts that want royalties to get distributed on OpenSea. - */ - -abstract contract ContractMetadata is IContractMetadata { - /// @notice Returns the contract metadata URI. - string public override contractURI; - - /** - * @notice Lets a contract admin set the URI for contract-level metadata. - * @dev Caller should be authorized to setup contractURI, e.g. contract admin. - * See {_canSetContractURI}. - * Emits {ContractURIUpdated Event}. - * - * @param _uri keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE") - */ - function setContractURI(string memory _uri) external override { - if (!_canSetContractURI()) { - revert("Not authorized"); - } - - _setupContractURI(_uri); - } - - /// @dev Lets a contract admin set the URI for contract-level metadata. - function _setupContractURI(string memory _uri) internal { - string memory prevURI = contractURI; - contractURI = _uri; - - emit ContractURIUpdated(prevURI, _uri); - } - - /// @dev Returns whether contract metadata can be set in the given execution context. - function _canSetContractURI() internal view virtual returns (bool); -} \ No newline at end of file diff --git a/contracts/interface/IPermissions.sol b/contracts/interface/IPermissions.sol deleted file mode 100644 index 799400eb..00000000 --- a/contracts/interface/IPermissions.sol +++ /dev/null @@ -1,86 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -pragma solidity ^0.8.0; - -/** - * @dev External interface of AccessControl declared to support ERC165 detection. - */ -interface IPermissions { - /** - * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` - * - * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite - * {RoleAdminChanged} not being emitted signaling this. - * - * _Available since v3.1._ - */ - event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); - - /** - * @dev Emitted when `account` is granted `role`. - * - * `sender` is the account that originated the contract call, an admin role - * bearer except when using {AccessControl-_setupRole}. - */ - event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); - - /** - * @dev Emitted when `account` is revoked `role`. - * - * `sender` is the account that originated the contract call: - * - if using `revokeRole`, it is the admin role bearer - * - if using `renounceRole`, it is the role bearer (i.e. `account`) - */ - event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); - - /** - * @dev Returns `true` if `account` has been granted `role`. - */ - function hasRole(bytes32 role, address account) external view returns (bool); - - /** - * @dev Returns the admin role that controls `role`. See {grantRole} and - * {revokeRole}. - * - * To change a role's admin, use {AccessControl-_setRoleAdmin}. - */ - function getRoleAdmin(bytes32 role) external view returns (bytes32); - - /** - * @dev Grants `role` to `account`. - * - * If `account` had not been already granted `role`, emits a {RoleGranted} - * event. - * - * Requirements: - * - * - the caller must have ``role``'s admin role. - */ - function grantRole(bytes32 role, address account) external; - - /** - * @dev Revokes `role` from `account`. - * - * If `account` had been granted `role`, emits a {RoleRevoked} event. - * - * Requirements: - * - * - the caller must have ``role``'s admin role. - */ - function revokeRole(bytes32 role, address account) external; - - /** - * @dev Revokes `role` from the calling account. - * - * Roles are often managed via {grantRole} and {revokeRole}: this function's - * purpose is to provide a mechanism for accounts to lose their privileges - * if they are compromised (such as when a trusted device is misplaced). - * - * If the calling account had been granted `role`, emits a {RoleRevoked} - * event. - * - * Requirements: - * - * - the caller must be `account`. - */ - function renounceRole(bytes32 role, address account) external; -} \ No newline at end of file diff --git a/contracts/lensABI.json b/contracts/lensABI.json deleted file mode 100644 index c4733cae..00000000 --- a/contracts/lensABI.json +++ /dev/null @@ -1,1442 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "address", "name": "followNFTImpl", "type": "address" }, - { "internalType": "address", "name": "collectNFTImpl", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { "inputs": [], "name": "CallerNotCollectNFT", "type": "error" }, - { "inputs": [], "name": "CallerNotFollowNFT", "type": "error" }, - { "inputs": [], "name": "CannotInitImplementation", "type": "error" }, - { "inputs": [], "name": "EmergencyAdminCannotUnpause", "type": "error" }, - { "inputs": [], "name": "InitParamsInvalid", "type": "error" }, - { "inputs": [], "name": "Initialized", "type": "error" }, - { "inputs": [], "name": "NotGovernance", "type": "error" }, - { "inputs": [], "name": "NotGovernanceOrEmergencyAdmin", "type": "error" }, - { "inputs": [], "name": "NotOwnerOrApproved", "type": "error" }, - { "inputs": [], "name": "NotProfileOwner", "type": "error" }, - { "inputs": [], "name": "NotProfileOwnerOrDispatcher", "type": "error" }, - { "inputs": [], "name": "Paused", "type": "error" }, - { "inputs": [], "name": "ProfileCreatorNotWhitelisted", "type": "error" }, - { "inputs": [], "name": "ProfileImageURILengthInvalid", "type": "error" }, - { "inputs": [], "name": "PublicationDoesNotExist", "type": "error" }, - { "inputs": [], "name": "PublishingPaused", "type": "error" }, - { "inputs": [], "name": "SignatureExpired", "type": "error" }, - { "inputs": [], "name": "SignatureInvalid", "type": "error" }, - { "inputs": [], "name": "ZeroSpender", "type": "error" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" } - ], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { "internalType": "uint256", "name": "deadline", "type": "uint256" } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "name": "burnWithSig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "name": "collect", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "address", "name": "collector", "type": "address" }, - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.CollectWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "collectWithSig", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "string", "name": "contentURI", "type": "string" }, - { - "internalType": "uint256", - "name": "profileIdPointed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pubIdPointed", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "referenceModuleData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "collectModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "collectModuleInitData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "referenceModuleInitData", - "type": "bytes" - } - ], - "internalType": "struct DataTypes.CommentData", - "name": "vars", - "type": "tuple" - } - ], - "name": "comment", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "string", "name": "contentURI", "type": "string" }, - { - "internalType": "uint256", - "name": "profileIdPointed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pubIdPointed", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "referenceModuleData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "collectModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "collectModuleInitData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "referenceModuleInitData", - "type": "bytes" - }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.CommentWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "commentWithSig", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "string", "name": "handle", "type": "string" }, - { "internalType": "string", "name": "imageURI", "type": "string" }, - { - "internalType": "address", - "name": "followModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "followModuleInitData", - "type": "bytes" - }, - { "internalType": "string", "name": "followNFTURI", "type": "string" } - ], - "internalType": "struct DataTypes.CreateProfileData", - "name": "vars", - "type": "tuple" - } - ], - "name": "createProfile", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "wallet", "type": "address" } - ], - "name": "defaultProfile", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" }, - { "internalType": "uint256", "name": "collectNFTId", "type": "uint256" }, - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" } - ], - "name": "emitCollectNFTTransferEvent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "followNFTId", "type": "uint256" }, - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" } - ], - "name": "emitFollowNFTTransferEvent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "exists", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "profileIds", - "type": "uint256[]" - }, - { "internalType": "bytes[]", "name": "datas", "type": "bytes[]" } - ], - "name": "follow", - "outputs": [ - { "internalType": "uint256[]", "name": "", "type": "uint256[]" } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "address", "name": "follower", "type": "address" }, - { - "internalType": "uint256[]", - "name": "profileIds", - "type": "uint256[]" - }, - { "internalType": "bytes[]", "name": "datas", "type": "bytes[]" }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.FollowWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "followWithSig", - "outputs": [ - { "internalType": "uint256[]", "name": "", "type": "uint256[]" } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "getApproved", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" } - ], - "name": "getCollectModule", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" } - ], - "name": "getCollectNFT", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCollectNFTImpl", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" } - ], - "name": "getContentURI", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "getDispatcher", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDomainSeparator", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "getFollowModule", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "getFollowNFT", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFollowNFTImpl", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "getFollowNFTURI", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGovernance", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "getHandle", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "getProfile", - "outputs": [ - { - "components": [ - { "internalType": "uint256", "name": "pubCount", "type": "uint256" }, - { - "internalType": "address", - "name": "followModule", - "type": "address" - }, - { "internalType": "address", "name": "followNFT", "type": "address" }, - { "internalType": "string", "name": "handle", "type": "string" }, - { "internalType": "string", "name": "imageURI", "type": "string" }, - { "internalType": "string", "name": "followNFTURI", "type": "string" } - ], - "internalType": "struct DataTypes.ProfileStruct", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "string", "name": "handle", "type": "string" } - ], - "name": "getProfileIdByHandle", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" } - ], - "name": "getPub", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "profileIdPointed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pubIdPointed", - "type": "uint256" - }, - { "internalType": "string", "name": "contentURI", "type": "string" }, - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { - "internalType": "address", - "name": "collectModule", - "type": "address" - }, - { "internalType": "address", "name": "collectNFT", "type": "address" } - ], - "internalType": "struct DataTypes.PublicationStruct", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "getPubCount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" } - ], - "name": "getPubPointer", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" } - ], - "name": "getPubType", - "outputs": [ - { "internalType": "enum DataTypes.PubType", "name": "", "type": "uint8" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "uint256", "name": "pubId", "type": "uint256" } - ], - "name": "getReferenceModule", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "enum DataTypes.ProtocolState", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "string", "name": "name", "type": "string" }, - { "internalType": "string", "name": "symbol", "type": "string" }, - { "internalType": "address", "name": "newGovernance", "type": "address" } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "operator", "type": "address" } - ], - "name": "isApprovedForAll", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "collectModule", "type": "address" } - ], - "name": "isCollectModuleWhitelisted", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "followModule", "type": "address" } - ], - "name": "isFollowModuleWhitelisted", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "profileCreator", "type": "address" } - ], - "name": "isProfileCreatorWhitelisted", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - } - ], - "name": "isReferenceModuleWhitelisted", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "mintTimestampOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { - "internalType": "uint256", - "name": "profileIdPointed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pubIdPointed", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "referenceModuleData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "referenceModuleInitData", - "type": "bytes" - } - ], - "internalType": "struct DataTypes.MirrorData", - "name": "vars", - "type": "tuple" - } - ], - "name": "mirror", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { - "internalType": "uint256", - "name": "profileIdPointed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pubIdPointed", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "referenceModuleData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "referenceModuleInitData", - "type": "bytes" - }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.MirrorWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "mirrorWithSig", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "ownerOf", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { "internalType": "uint256", "name": "deadline", "type": "uint256" } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "operator", "type": "address" }, - { "internalType": "bool", "name": "approved", "type": "bool" }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { "internalType": "uint256", "name": "deadline", "type": "uint256" } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "name": "permitForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "string", "name": "contentURI", "type": "string" }, - { - "internalType": "address", - "name": "collectModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "collectModuleInitData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "referenceModuleInitData", - "type": "bytes" - } - ], - "internalType": "struct DataTypes.PostData", - "name": "vars", - "type": "tuple" - } - ], - "name": "post", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "string", "name": "contentURI", "type": "string" }, - { - "internalType": "address", - "name": "collectModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "collectModuleInitData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "referenceModuleInitData", - "type": "bytes" - }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.PostWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "postWithSig", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, - { "internalType": "bytes", "name": "_data", "type": "bytes" } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "operator", "type": "address" }, - { "internalType": "bool", "name": "approved", "type": "bool" } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" } - ], - "name": "setDefaultProfile", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "address", "name": "wallet", "type": "address" }, - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.SetDefaultProfileWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "setDefaultProfileWithSig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "address", "name": "dispatcher", "type": "address" } - ], - "name": "setDispatcher", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { - "internalType": "address", - "name": "dispatcher", - "type": "address" - }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.SetDispatcherWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "setDispatcherWithSig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newEmergencyAdmin", - "type": "address" - } - ], - "name": "setEmergencyAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "address", "name": "followModule", "type": "address" }, - { - "internalType": "bytes", - "name": "followModuleInitData", - "type": "bytes" - } - ], - "name": "setFollowModule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { - "internalType": "address", - "name": "followModule", - "type": "address" - }, - { - "internalType": "bytes", - "name": "followModuleInitData", - "type": "bytes" - }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.SetFollowModuleWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "setFollowModuleWithSig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "string", "name": "followNFTURI", "type": "string" } - ], - "name": "setFollowNFTURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { - "internalType": "string", - "name": "followNFTURI", - "type": "string" - }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.SetFollowNFTURIWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "setFollowNFTURIWithSig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newGovernance", "type": "address" } - ], - "name": "setGovernance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "string", "name": "imageURI", "type": "string" } - ], - "name": "setProfileImageURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "profileId", "type": "uint256" }, - { "internalType": "string", "name": "imageURI", "type": "string" }, - { - "components": [ - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct DataTypes.EIP712Signature", - "name": "sig", - "type": "tuple" - } - ], - "internalType": "struct DataTypes.SetProfileImageURIWithSigData", - "name": "vars", - "type": "tuple" - } - ], - "name": "setProfileImageURIWithSig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum DataTypes.ProtocolState", - "name": "newState", - "type": "uint8" - } - ], - "name": "setState", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "sigNonces", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } - ], - "name": "supportsInterface", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "index", "type": "uint256" } - ], - "name": "tokenByIndex", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "tokenDataOf", - "outputs": [ - { - "components": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { - "internalType": "uint96", - "name": "mintTimestamp", - "type": "uint96" - } - ], - "internalType": "struct IERC721Time.TokenData", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "uint256", "name": "index", "type": "uint256" } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "tokenURI", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "collectModule", "type": "address" }, - { "internalType": "bool", "name": "whitelist", "type": "bool" } - ], - "name": "whitelistCollectModule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "followModule", "type": "address" }, - { "internalType": "bool", "name": "whitelist", "type": "bool" } - ], - "name": "whitelistFollowModule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "profileCreator", - "type": "address" - }, - { "internalType": "bool", "name": "whitelist", "type": "bool" } - ], - "name": "whitelistProfileCreator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "referenceModule", - "type": "address" - }, - { "internalType": "bool", "name": "whitelist", "type": "bool" } - ], - "name": "whitelistReferenceModule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/contracts/lib/TWStrings.sol b/contracts/lib/TWStrings.sol deleted file mode 100644 index 1caf2d94..00000000 --- a/contracts/lib/TWStrings.sol +++ /dev/null @@ -1,67 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.1 (utils/Strings.sol) - -pragma solidity ^0.8.0; - -/** - * @dev String operations. - */ -library TWStrings { - bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; - - /** - * @dev Converts a `uint256` to its ASCII `string` decimal representation. - */ - function toString(uint256 value) internal pure returns (string memory) { - // Inspired by OraclizeAPI's implementation - MIT licence - // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol - - if (value == 0) { - return "0"; - } - uint256 temp = value; - uint256 digits; - while (temp != 0) { - digits++; - temp /= 10; - } - bytes memory buffer = new bytes(digits); - while (value != 0) { - digits -= 1; - buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); - value /= 10; - } - return string(buffer); - } - - /** - * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. - */ - function toHexString(uint256 value) internal pure returns (string memory) { - if (value == 0) { - return "0x00"; - } - uint256 temp = value; - uint256 length = 0; - while (temp != 0) { - length++; - temp >>= 8; - } - return toHexString(value, length); - } - - /** - * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. - */ - function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { - bytes memory buffer = new bytes(2 * length + 2); - buffer[0] = "0"; - buffer[1] = "x"; - for (uint256 i = 2 * length + 1; i > 1; --i) { - buffer[i] = _HEX_SYMBOLS[value & 0xf]; - value >>= 4; - } - require(value == 0, "Strings: hex length insufficient"); - return string(buffer); - } -} \ No newline at end of file diff --git a/contracts/planetProposal.sol b/contracts/planetProposal.sol deleted file mode 100644 index cf0f0a4a..00000000 --- a/contracts/planetProposal.sol +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.0; - -contract PlanetProposal { - struct Proposal { - string question; - uint256 yesVotes; - uint256 noVotes; - } - - Proposal[] public proposals; - mapping(uint256 => mapping(address => bool)) public hasVoted; - - function createProposal(string memory _question) public { - proposals.push(Proposal({ - question: _question, - yesVotes: 0, - noVotes: 0 - })); - } - - function vote(uint256 _proposalIndex, bool _voteYes) public { - require(!hasVoted[_proposalIndex][msg.sender], "You have already voted."); - - if (_voteYes) { - proposals[_proposalIndex].yesVotes += 1; - } else { - proposals[_proposalIndex].noVotes += 1; - } - - hasVoted[_proposalIndex][msg.sender] = true; - } - - function getProposalResult(uint256 _proposalIndex) public view returns (string memory, uint256, uint256) { - return ( - proposals[_proposalIndex].question, - proposals[_proposalIndex].yesVotes, - proposals[_proposalIndex].noVotes - ); - } -} - -/* -For use in testing voting on proposals from users on generated anomalies in play.skinetics.tech, working in the github/desci-md scripts -*/ \ No newline at end of file diff --git a/contracts/proposal.sol b/contracts/proposal.sol deleted file mode 100644 index 46d2429c..00000000 --- a/contracts/proposal.sol +++ /dev/null @@ -1,65 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.11; - -contract ClassificationProposal { - struct Classification { - // What types will this struct/campaign have? - address owner; - string title; // Title of the Proposal, type string - string description; - uint256 target; // How many coins to get the proposal to pass? - uint256 deadline; - uint256 amountCollected; // Goes towards target - string image; // image uri/url - address[] voters; - uint256[] votes; // Consider adding more components to match discussion in wb3-5 task - } - - mapping(uint256 => Classification) public classifications; - uint256 public numberOfClassifications = 0; - - function createProposal(address _owner, string memory _title, string memory _description, uint256 _target, uint256 _deadline, string memory _image) public returns (uint256) { // Returns id of the classification's proposal - Classification storage classification = classifications[numberOfClassifications]; // Populates the classifications array - require(classification.deadline < block.timestamp, "The deadline should be a date in the future"); // Maybe add another modifier to specify a minimum deadline period e.g. 1 day - - classification.owner = _owner; - classification.title = _title; - classification.description = _description; - classification.target = _target; - classification.deadline = _deadline; - classification.amountCollected = 0; - classification.image = _image; - - numberOfClassifications++; - - return numberOfClassifications - 1; - } - - function voteForProposal(uint256 _id) public payable { // Some crypto will be sent with the classificationID used as a param - uint256 amount = msg.value; // This amount is set by user (typically in frontend); the amount they'll be pledging towards a classification - Classification storage classification = classifications[_id]; - - classification.voters.push(msg.sender); // Push the address of user who voted - classification.votes.push(amount); // Amount of custom erc20 token pledged - - (bool sent,) = payable(classification.owner).call{value: amount}(""); - if (sent) { - classification.amountCollected = classification.amountCollected + amount; - } - } - - function getVoters(uint256 _id) view public returns(address[] memory, uint256[] memory) { // Array of votes and number of voters - return (classifications[_id].voters, classifications[_id].votes); - } - - function getProposals() public view returns(Classification[] memory) { // Retrieved from memory - Classification[] memory allClassifications = new Classification[](numberOfClassifications); // Empty array of empty structs referencing each classification/proposal - - for (uint i = 0; i < numberOfClassifications; i++) { - Classification storage item = classifications[i]; - allClassifications[i] = item; // Fetch the classification from storage and populate it in allClassifications - } - - return allClassifications; - } -} \ No newline at end of file diff --git a/contracts/scripts/1_deploy_contract.js b/contracts/scripts/1_deploy_contract.js deleted file mode 100644 index e901a512..00000000 --- a/contracts/scripts/1_deploy_contract.js +++ /dev/null @@ -1,5 +0,0 @@ -const Demo_Contract = artifacts.require("PlanetProposal"); - -module.exports = function(deployer) { - deployer.deploy(Demo_Contract); -}; \ No newline at end of file diff --git a/contracts/scripts/__init__.py b/contracts/scripts/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/contracts/scripts/deploy.js b/contracts/scripts/deploy.js deleted file mode 100644 index 5810f5b3..00000000 --- a/contracts/scripts/deploy.js +++ /dev/null @@ -1,19 +0,0 @@ -async function main() { - const [deployer] = await ethers.getSigners(); - - console.log("Deploying contracts with the account:", deployer.address); - - console.log("Account balance:", (await deployer.getBalance()).toString()); - - const Token = await ethers.getContractFactory("Token"); - const token = await Token.deploy(); - - console.log("Token address:", token.address); -} - -main() - .then(() => process.exit(0)) - .catch((error) => { - console.error(error); - process.exit(1); -}); \ No newline at end of file diff --git a/contracts/scripts/deploy.py b/contracts/scripts/deploy.py deleted file mode 100644 index e6cd470b..00000000 --- a/contracts/scripts/deploy.py +++ /dev/null @@ -1,5 +0,0 @@ -from brownie import Token, accounts - -def main(): - acct = accounts.load('deployment_account') - Token.deploy("", "", 18, 1e28, {'from': acct}) \ No newline at end of file diff --git a/contracts/scripts/deployToGoerli.js b/contracts/scripts/deployToGoerli.js deleted file mode 100644 index 74eaee4d..00000000 --- a/contracts/scripts/deployToGoerli.js +++ /dev/null @@ -1,14 +0,0 @@ -async function main() { - const PlanetProposal = await ethers.getContractFactory("PlanetProposal"); - const gasPrice = await PlanetProposal.signer.getGasPrice(); - const estimatedGas = await PlanetProposal.signer.estimateGas( - PlanetProposal.getDeployTransaction() - ); - - const deploymentPrice = gasPrice.mul(estimatedGas); - const deployerBalance = await PlanetProposal.signer.getBalance(); - - if (Number(deployerBalance) < Number(deploymentPrice)) { - throw new Error("You don't have enough balance to deploy"); - } -} \ No newline at end of file diff --git a/contracts/scripts/deploy_voteContract.mjs b/contracts/scripts/deploy_voteContract.mjs deleted file mode 100644 index ea5c54b0..00000000 --- a/contracts/scripts/deploy_voteContract.mjs +++ /dev/null @@ -1,26 +0,0 @@ -import { ThirdwebSDK } from "@thirdweb-dev/sdk"; -import "dotenv/config"; -import { MINERALS_ADDRESS } from "../../constants/contractAddresses"; - -const NETWORK = "goerli"; -const GOERLI_PRIVATE_KEY = process.env.PRIVATE_KEY; -const sdk = ThirdwebSDK.fromPrivateKey(GOERLI_PRIVATE_KEY, NETWORK); - -(async () => { - try { - const voteContractAddress = await sdk.deployer.deployVote({ - name: "Star Sailors Metadata DAO", - voting_token_address: MINERALS_ADDRESS, - voting_delay_in_blocks: 0, // A user can vote on a proposal immediately after it is created - voting_period_in_blocks: 6570, // Each proposal can be voted on for 1 day after it is created - voting_quorum_fraction: 0, - proposal_token_threshold: 0, - }); - - console.log('Successfully deployed vote contract, address: ', voteContractAddress); - } catch (err) { - console.error("Failed to deploy vote contract, ", err); - } -})(); - -// voting address: 0xEee8EB851e3d528ef3b5C98CD41cb6F25c929415 \ No newline at end of file diff --git a/contracts/scripts/proposals.mjs b/contracts/scripts/proposals.mjs deleted file mode 100644 index 46463403..00000000 --- a/contracts/scripts/proposals.mjs +++ /dev/null @@ -1,39 +0,0 @@ -import ethers from "hardhat"; -import { ThirdwebSDK } from "@thirdweb-dev/sdk"; -import "dotenv/config"; -//import { MINERALS_ADDRESS } from "../../constants/contractAddresses"; - -const MINERALS_ADDRESS = '0xE938775F4ee4913470905885c9744C7FAD482991'; -const NETWORK = "goerli"; -const GOERLI_PRIVATE_KEY = process.env.PRIVATE_KEY; -// const sdk = ThirdwebSDK.fromPrivateKey(GOERLI_PRIVATE_KEY, NETWORK); -const sdk = ThirdwebSDK.fromPrivateKey('71cc30029998f3282069d43e547efd1894f51269e15a833815e5ed5f418a38e7', NETWORK); - -(async () => { - try { - const vote = await sdk.getContract("0xd0F59Ed6EBf7f754fC3D5Fd7bb3181EBDeEd9E9d", "vote"); - const token = await sdk.getContract("0xa791a3e0F2D2300Ee85eC7105Eee9E9E8eb57908", "token"); - - // Create a proposal to mint 420,000 new minerals to the treasury - const amount = 420_000; - const description = "Should the DAO mint an additional " + amount + " tokens into the treasury?"; - const executions = [ - { - toAddress: token.getAddress(), - nativeTokenValue: 0, - transactionData: token.encoder.encode("mintTo", [ - vote.getAddress(), - ethers.utils.parseUnits(amount.toString(), 18), - ]), - }, - ]; - - await vote.propose(description, executions); - console.log("✅ Successfully created proposal to mint tokens"); - - } catch (error) { - console.error("failed to create first proposal", error); - process.exit(1); - }; - } -); \ No newline at end of file diff --git a/contracts/scripts/treasury.mjs b/contracts/scripts/treasury.mjs deleted file mode 100644 index 878bf6ef..00000000 --- a/contracts/scripts/treasury.mjs +++ /dev/null @@ -1,54 +0,0 @@ -import { ThirdwebSDK } from "@thirdweb-dev/sdk"; -import "dotenv/config"; -//import { MINERALS_ADDRESS } from "../../constants/contractAddresses"; - -const MINERALS_ADDRESS = '0xE938775F4ee4913470905885c9744C7FAD482991'; -const NETWORK = "goerli"; -const GOERLI_PRIVATE_KEY = process.env.PRIVATE_KEY; -// const sdk = ThirdwebSDK.fromPrivateKey(GOERLI_PRIVATE_KEY, NETWORK); -const sdk = ThirdwebSDK.fromPrivateKey('71cc30029998f3282069d43e547efd1894f51269e15a833815e5ed5f418a38e7', NETWORK); - -(async () => { - try { - // This is our governance contract. - //const vote = await sdk.getContract("0xEee8EB851e3d528ef3b5C98CD41cb6F25c929415", "vote"); - const vote = await sdk.getContract("0xd0F59Ed6EBf7f754fC3D5Fd7bb3181EBDeEd9E9d", "vote"); - // This is our ERC-20 contract. - //const token = await sdk.getContract(MINERALS_ADDRESS, "token"); - const token = await sdk.getContract("0xa791a3e0F2D2300Ee85eC7105Eee9E9E8eb57908", "token"); - // Give our treasury the power to mint additional token if needed. - await token.roles.grant("minter", vote.getAddress()); - - console.log( - "Successfully gave vote contract permissions to act on token contract" - ); - } catch (error) { - console.error( - "failed to grant vote contract permissions on token contract", - error - ); - process.exit(1); - } - - try { - // This is our governance contract. - const vote = await sdk.getContract("0xd0F59Ed6EBf7f754fC3D5Fd7bb3181EBDeEd9E9d", "vote"); - // This is our ERC-20 contract. - const token = await sdk.getContract("0xa791a3e0F2D2300Ee85eC7105Eee9E9E8eb57908", "token"); - // Grab our wallet's token balance, remember -- we hold basically the entire supply right now! - const ownedTokenBalance = await token.balanceOf("0x8E818DF8441d4D13EA8fe8dd26967C061D956FE0"); - - // Grab 90% of the supply that we hold. - const ownedAmount = ownedTokenBalance.displayValue; - const percent90 = (Number(ownedAmount) / 100) * 90; - - // Transfer 90% of the supply to our voting contract. - await token.transfer(vote.getAddress(), percent90); - - console.log( - "✅ Successfully transferred " + percent90 + " tokens to vote contract" - ); - } catch (err) { - console.error("failed to transfer tokens to vote contract", err); - } -})(); \ No newline at end of file diff --git a/docs/contracts/deploying.md b/docs/contracts/deploying.md deleted file mode 100644 index 732fa5ea..00000000 --- a/docs/contracts/deploying.md +++ /dev/null @@ -1 +0,0 @@ -On my (Liam) local machine, I have issues compiling the `PlanetHelper.sol` contract as my local compiler isn't compatible with the Solidity version required & the remote compiler (0.7.3) is not compatible with the `@openzeppelin/contracts/security/ReentrancyGuard.sol` contract. To save time, I've just deployed the contract via the codespaces version of the signal-k/sytizen repository. \ No newline at end of file diff --git a/docs/lens/tanstack.md b/docs/lens/tanstack.md deleted file mode 100644 index b3d00ede..00000000 --- a/docs/lens/tanstack.md +++ /dev/null @@ -1 +0,0 @@ -Currently, we're using Tanstack to interact & setup the `generated` queries that interact with the Lens Protocol (see `./graphql`). An update to the LP Node SDK may have rendered the need for this directory obsolete, so before work begins on the MVP stage we need to explore the full node package. \ No newline at end of file diff --git a/docs/logs/dao_deploy_contracts.md b/docs/logs/dao_deploy_contracts.md deleted file mode 100644 index 9585663f..00000000 --- a/docs/logs/dao_deploy_contracts.md +++ /dev/null @@ -1,57 +0,0 @@ -brownie run scripts/deploy_contracts.py -Brownie v1.19.3 - Python development framework for Ethereum - -/opt/homebrew/lib/python3.10/site-packages/brownie/project/main.py:743: BrownieEnvironmentWarning: Loaded project has a root folder of '/Users/buyer/Documents/Lens/client' which is different from the current working directory - warnings.warn( -ClientProject is the active project. - -Launching 'ganache-cli --chain.vmErrorsOnRPCResponse true --server.port 8545 --miner.blockGasLimit 12000000 --wallet.totalAccounts 10 --hardfork istanbul --wallet.mnemonic brownie'... - -Running '/Users/buyer/Documents/Lens/client/scripts/deploy_contracts.py::main'... -Transaction sent: 0xe192cef0aaa52d14d5435f5a1f9968eac65fbb79902a3d407ae54c80a1405680 - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 0 - GovernanceToken.constructor confirmed Block: 1 Gas used: 1925133 (16.04%) - GovernanceToken deployed at: 0x3194cBDC3dbcd3E11a07892e7bA5c3394048Cc87 - -Transaction sent: 0x88ae12c648dff09f33b763a940b88268086dd1c93cd72ef2793f4b5343b02f83 - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 1 - GovernanceToken.delegate confirmed Block: 2 Gas used: 90025 (0.75%) - -Number of CheckPoints: 1 -Transaction sent: 0x3a901c35319b59447fc1132f0bfc2be0e2b14e5637c0507cf2ea57c6a4937801 - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 2 - TimeLock.constructor confirmed Block: 3 Gas used: 1874819 (15.62%) - TimeLock deployed at: 0xE7eD6747FaC5360f88a2EFC03E00d25789F69291 - -Governance TimeLock: 0xE7eD6747FaC5360f88a2EFC03E00d25789F69291 -Transaction sent: 0x522e84f31da6d2fddf77b30436da707a796d723e7d337ccde4b1dbb2f72d1081 - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 3 - AnomalyGovernor.constructor confirmed Block: 4 Gas used: 3495655 (29.13%) - AnomalyGovernor deployed at: 0x6951b5Bd815043E3F842c1b026b0Fa888Cc2DD85 - -Transaction sent: 0x927ffd2f8d676e160e4b9ceb73e8eccfba6c0925597465243551cb506bea91c8 - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 4 - TimeLock.grantRole confirmed Block: 5 Gas used: 48309 (0.40%) - -Transaction sent: 0xfa1463d4fba62332e60576019cbc319d110238d3c13d6daadaedc1fd950bda3f - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 5 - TimeLock.grantRole confirmed Block: 6 Gas used: 48069 (0.40%) - -Transaction sent: 0xf3e6475854f27440cc74294ebd7c7eb96a12cb9a17e4f9d1a03df5689c347f30 - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 6 - TimeLock.grantRole confirmed Block: 7 Gas used: 25372 (0.21%) - -Transaction sent: 0xe2f19f67eb35789d7ccb006339859d52f48f5c4324fc38d532d9876095ed229a - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 7 - Box.constructor confirmed Block: 8 Gas used: 228144 (1.90%) - Box deployed at: 0xcCB53c9429d32594F404d01fbe9E65ED1DCda8D9 - -Transaction sent: 0xba42563cfb61250a7f8405e2322699b5c85de249f241f876def451c6e3a9ea04 - Gas price: 0.0 gwei Gas limit: 12000000 Nonce: 8 - Box.transferOwnership confirmed Block: 9 Gas used: 30084 (0.25%) - - Box.transferOwnership confirmed Block: 9 Gas used: 30084 (0.25%) - -Terminating local RPC client.. - -https://app.warp.dev/block/dn3RaXkYnkkHjqevP1dtX0 \ No newline at end of file diff --git a/docs/stake/README.md b/docs/stake/README.md deleted file mode 100644 index dde34949..00000000 --- a/docs/stake/README.md +++ /dev/null @@ -1,10 +0,0 @@ -(Insert Jekyll/hydejack (or eleventy) docs here) - -Some notes: -In `stake/contracts/PlanetHelper.sol`, we import two relatively large contracts from `@thirdweb-dev/contracts`: -```sol -import "@thirdweb-dev/contracts/drop/DROPERC1155.sol"; -import "@thirdweb-dev/contracts/token/TokenERC20.sol"; -``` - -It might be worth looking at the original contracts being imported and customising them IF performance and/or gas fees are impacted as a result of importing these. \ No newline at end of file diff --git a/graphql/auth-fetcher.ts b/graphql/auth-fetcher.ts deleted file mode 100644 index 319fdcd3..00000000 --- a/graphql/auth-fetcher.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { isTokenExpired, readAccessToken } from "../lib/auth/helpers"; -import refreshAccessToken from "../lib/auth/refreshAccessToken"; - -const endpoint = 'https://api.lens.dev'; - -export const fetcher = ( - query: string, - variables?: TVariables, - options?: RequestInit['headers'] -): (() => Promise) => { - async function getAccessToken() { // Authentication headers - // Check local storage for access token - const token = readAccessToken(); - if (!token) return null; - let accessToken = token?.accessToken; - - // Check expiration of token - if (isTokenExpired( token.exp )) { - // Update token (using refresh) IF expired - const newToken = await refreshAccessToken(); - if (!newToken) return null; - accessToken = newToken; - } - - return accessToken; // Return the access token - }; - - return async () => { - const token = typeof window !=='undefined' ? await getAccessToken() : null; // Either a string or null (depending on auth/localStorage state) - - const res = await fetch(endpoint, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - ...options, - 'x-access-token': token ? token : '', // Lens auth token here (auth header - 'Access-Control-Allow-Origin': "*", - }, - body: JSON.stringify({ - query, - variables - }) - }) - - const json = await res.json() - - if (json.errors) { - const { message } = json.errors[0] || {} - throw new Error(message || 'Error…') - } - - return json.data - } -} \ No newline at end of file diff --git a/graphql/authenticate.graphql b/graphql/authenticate.graphql deleted file mode 100644 index 65dcf952..00000000 --- a/graphql/authenticate.graphql +++ /dev/null @@ -1,6 +0,0 @@ -mutation authenticate($request: SignedAuthChallenge!) { - authenticate(request: $request) { - accessToken - refreshToken - } -} \ No newline at end of file diff --git a/graphql/challenge.graphql b/graphql/challenge.graphql deleted file mode 100644 index c64e5004..00000000 --- a/graphql/challenge.graphql +++ /dev/null @@ -1,5 +0,0 @@ -query Challenge($request: ChallengeRequest!) { - challenge(request: $request) { - text - } -} \ No newline at end of file diff --git a/graphql/comment.graphql b/graphql/comment.graphql deleted file mode 100644 index 8f32c7d3..00000000 --- a/graphql/comment.graphql +++ /dev/null @@ -1,33 +0,0 @@ -mutation createCommentTypedData($request: CreatePublicCommentRequest!) { - createCommentTypedData(request: $request) { - id - expiresAt - typedData { - types { - CommentWithSig { - name - type - } - } - domain { - name - chainId - version - verifyingContract - } - value { - nonce - deadline - profileId - profileIdPointed - pubIdPointed - contentURI - collectModule - collectModuleInitData - referenceModule - referenceModuleInitData - referenceModuleData - } - } - } -} \ No newline at end of file diff --git a/graphql/common.graphql b/graphql/common.graphql deleted file mode 100644 index 8ee2dccf..00000000 --- a/graphql/common.graphql +++ /dev/null @@ -1,559 +0,0 @@ -fragment MediaFields on Media { - url - width - height - mimeType -} - -fragment ProfileFields on Profile { - id - name - bio - attributes { - displayType - traitType - key - value - } - isFollowedByMe - isFollowing(who: null) - followNftAddress - metadata - isDefault - handle - picture { - ... on NftImage { - contractAddress - tokenId - uri - verified - } - ... on MediaSet { - original { - ...MediaFields - } - small { - ...MediaFields - } - medium { - ...MediaFields - } - } - } - coverPicture { - ... on NftImage { - contractAddress - tokenId - uri - verified - } - ... on MediaSet { - original { - ...MediaFields - } - small { - ...MediaFields - } - medium { - ...MediaFields - } - } - } - ownedBy - dispatcher { - address - canUseRelay - } - stats { - totalFollowers - totalFollowing - totalPosts - totalComments - totalMirrors - totalPublications - totalCollects - } - followModule { - ...FollowModuleFields - } - onChainIdentity { - ens { - name - } - proofOfHumanity - sybilDotOrg { - verified - source { - twitter { - handle - } - } - } - worldcoin { - isHuman - } - } -} - -fragment PublicationStatsFields on PublicationStats { - totalAmountOfMirrors - totalAmountOfCollects - totalAmountOfComments -} - -fragment MetadataOutputFields on MetadataOutput { - name - image - description - content - media { - original { - ...MediaFields - } - small { - ...MediaFields - } - medium { - ...MediaFields - } - } - attributes { - displayType - traitType - value - } - encryptionParams { - providerSpecificParams { - encryptionKey - } - accessCondition { - ...AccessConditionFields - } - encryptedFields { - animation_url - content - external_url - image - media { - ...EncryptedMediaSetFields - } - } - } -} - -fragment Erc20Fields on Erc20 { - name - symbol - decimals - address -} - -fragment PostFields on Post { - id - profile { - ...ProfileFields - } - stats { - ...PublicationStatsFields - } - metadata { - ...MetadataOutputFields - } - createdAt - collectModule { - ...CollectModuleFields - } - referenceModule { - ...ReferenceModuleFields - } - appId - hidden - reaction(request: null) - mirrors(by: null) - hasCollectedByMe - isGated -} - -fragment MirrorBaseFields on Mirror { - id - profile { - ...ProfileFields - } - stats { - ...PublicationStatsFields - } - metadata { - ...MetadataOutputFields - } - createdAt - collectModule { - ...CollectModuleFields - } - referenceModule { - ...ReferenceModuleFields - } - appId - hidden - reaction(request: null) - hasCollectedByMe - isGated -} - -fragment MirrorFields on Mirror { - ...MirrorBaseFields - mirrorOf { - ... on Post { - ...PostFields - } - ... on Comment { - ...CommentFields - } - } -} - -fragment CommentBaseFields on Comment { - id - profile { - ...ProfileFields - } - stats { - ...PublicationStatsFields - } - metadata { - ...MetadataOutputFields - } - createdAt - collectModule { - ...CollectModuleFields - } - referenceModule { - ...ReferenceModuleFields - } - appId - hidden - reaction(request: null) - mirrors(by: null) - hasCollectedByMe - isGated -} - -fragment CommentFields on Comment { - ...CommentBaseFields - mainPost { - ... on Post { - ...PostFields - } - ... on Mirror { - ...MirrorBaseFields - mirrorOf { - ... on Post { - ...PostFields - } - ... on Comment { - ...CommentMirrorOfFields - } - } - } - } -} - -fragment CommentMirrorOfFields on Comment { - ...CommentBaseFields - mainPost { - ... on Post { - ...PostFields - } - ... on Mirror { - ...MirrorBaseFields - } - } -} - -fragment TxReceiptFields on TransactionReceipt { - to - from - contractAddress - transactionIndex - root - gasUsed - logsBloom - blockHash - transactionHash - blockNumber - confirmations - cumulativeGasUsed - effectiveGasPrice - byzantium - type - status - logs { - blockNumber - blockHash - transactionIndex - removed - address - data - topics - transactionHash - logIndex - } -} - -fragment WalletFields on Wallet { - address - defaultProfile { - ...ProfileFields - } -} - -fragment CommonPaginatedResultInfoFields on PaginatedResultInfo { - prev - next - totalCount -} - -fragment FollowModuleFields on FollowModule { - ... on FeeFollowModuleSettings { - type - amount { - asset { - name - symbol - decimals - address - } - value - } - recipient - } - ... on ProfileFollowModuleSettings { - type - contractAddress - } - ... on RevertFollowModuleSettings { - type - contractAddress - } - ... on UnknownFollowModuleSettings { - type - contractAddress - followModuleReturnData - } -} - -fragment CollectModuleFields on CollectModule { - __typename - ... on FreeCollectModuleSettings { - type - followerOnly - contractAddress - } - ... on FeeCollectModuleSettings { - type - amount { - asset { - ...Erc20Fields - } - value - } - recipient - referralFee - } - ... on LimitedFeeCollectModuleSettings { - type - collectLimit - amount { - asset { - ...Erc20Fields - } - value - } - recipient - referralFee - } - ... on LimitedTimedFeeCollectModuleSettings { - type - collectLimit - amount { - asset { - ...Erc20Fields - } - value - } - recipient - referralFee - endTimestamp - } - ... on RevertCollectModuleSettings { - type - } - ... on TimedFeeCollectModuleSettings { - type - amount { - asset { - ...Erc20Fields - } - value - } - recipient - referralFee - endTimestamp - } - ... on UnknownCollectModuleSettings { - type - contractAddress - collectModuleReturnData - } -} - -fragment ReferenceModuleFields on ReferenceModule { - ... on FollowOnlyReferenceModuleSettings { - type - contractAddress - } - ... on UnknownReferenceModuleSettings { - type - contractAddress - referenceModuleReturnData - } - ... on DegreesOfSeparationReferenceModuleSettings { - type - contractAddress - commentsRestricted - mirrorsRestricted - degreesOfSeparation - } -} - -fragment Erc20OwnershipFields on Erc20OwnershipOutput { - contractAddress - amount - chainID - condition - decimals -} - -fragment EoaOwnershipFields on EoaOwnershipOutput { - address -} - -fragment NftOwnershipFields on NftOwnershipOutput { - contractAddress - chainID - contractType - tokenIds -} - -fragment ProfileOwnershipFields on ProfileOwnershipOutput { - profileId -} - -fragment FollowConditionFields on FollowConditionOutput { - profileId -} - -fragment CollectConditionFields on CollectConditionOutput { - publicationId - thisPublication -} - -fragment AndConditionFields on AndConditionOutput { - criteria { - ...AccessConditionFields - } -} - -fragment OrConditionFields on OrConditionOutput { - criteria { - ...AccessConditionFields - } -} -fragment AndConditionFieldsNoRecursive on AndConditionOutput { - criteria { - ...SimpleConditionFields - } -} - -fragment OrConditionFieldsNoRecursive on OrConditionOutput { - criteria { - ...SimpleConditionFields - } -} - -fragment SimpleConditionFields on AccessConditionOutput { - nft { - ...NftOwnershipFields - } - eoa { - ...EoaOwnershipFields - } - token { - ...Erc20OwnershipFields - } - profile { - ...ProfileOwnershipFields - } - follow { - ...FollowConditionFields - } - collect { - ...CollectConditionFields - } -} - -fragment BooleanConditionFieldsRecursive on AccessConditionOutput { - and { - criteria { - ...SimpleConditionFields - and { - criteria { - ...SimpleConditionFields - } - } - or { - criteria { - ...SimpleConditionFields - } - } - } - } - or { - criteria { - ...SimpleConditionFields - and { - criteria { - ...SimpleConditionFields - } - } - or { - criteria { - ...SimpleConditionFields - } - } - } - } -} - -fragment AccessConditionFields on AccessConditionOutput { - ...SimpleConditionFields - ...BooleanConditionFieldsRecursive -} - -fragment EncryptedMediaFields on EncryptedMedia { - url - width - height - mimeType -} - -fragment EncryptedMediaSetFields on EncryptedMediaSet { - original { - ...EncryptedMediaFields - } - small { - ...EncryptedMediaFields - } - medium { - ...EncryptedMediaFields - } -} \ No newline at end of file diff --git a/graphql/explore-publications.graphql b/graphql/explore-publications.graphql deleted file mode 100644 index dfbb99ab..00000000 --- a/graphql/explore-publications.graphql +++ /dev/null @@ -1,19 +0,0 @@ -query ExplorePublications($request: ExplorePublicationRequest!) { - explorePublications(request: $request) { - items { - __typename - ... on Post { - ...PostFields - } - ... on Comment { - ...CommentFields - } - ... on Mirror { - ...MirrorFields - } - } - pageInfo { - ...CommonPaginatedResultInfoFields - } - } -} \ No newline at end of file diff --git a/graphql/follow.graphql b/graphql/follow.graphql deleted file mode 100644 index 87b81454..00000000 --- a/graphql/follow.graphql +++ /dev/null @@ -1,26 +0,0 @@ -mutation createFollowTypedData($request: FollowRequest!) { - createFollowTypedData(request: $request) { - id - expiresAt - typedData { - domain { - name - chainId - version - verifyingContract - } - types { - FollowWithSig { - name - type - } - } - value { - nonce - deadline - profileIds - datas - } - } - } -} \ No newline at end of file diff --git a/graphql/generated.ts b/graphql/generated.ts deleted file mode 100644 index 49173452..00000000 --- a/graphql/generated.ts +++ /dev/null @@ -1,5024 +0,0 @@ -import { useMutation, useQuery, UseMutationOptions, UseQueryOptions } from '@tanstack/react-query'; -import { fetcher } from './auth-fetcher'; -export type Maybe = T | null; -export type InputMaybe = Maybe; -export type Exact = { [K in keyof T]: T[K] }; -export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; -export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; -/** All built-in and custom scalars, mapped to their actual values */ -export type Scalars = { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; - BlockchainData: any; - BroadcastId: any; - ChainId: any; - CollectModuleData: any; - ContentEncryptionKey: any; - ContractAddress: any; - CreateHandle: any; - Cursor: any; - DateTime: any; - EncryptedValueScalar: any; - Ens: any; - EthereumAddress: any; - FollowModuleData: any; - Handle: any; - HandleClaimIdScalar: any; - IfpsCid: any; - InternalPublicationId: any; - Jwt: any; - LimitScalar: any; - Locale: any; - Markdown: any; - MimeType: any; - NftOwnershipId: any; - Nonce: any; - NotificationId: any; - ProfileId: any; - ProfileInterest: any; - ProxyActionId: any; - PublicationId: any; - PublicationTag: any; - PublicationUrl: any; - ReactionId: any; - ReferenceModuleData: any; - Search: any; - Signature: any; - Sources: any; - TimestampScalar: any; - TokenId: any; - TxHash: any; - TxId: any; - UnixTimestamp: any; - Url: any; - Void: any; -}; - -/** The access conditions for the publication */ -export type AccessConditionInput = { - /** AND condition */ - and?: InputMaybe; - /** Profile follow condition */ - collect?: InputMaybe; - /** EOA ownership condition */ - eoa?: InputMaybe; - /** Profile follow condition */ - follow?: InputMaybe; - /** NFT ownership condition */ - nft?: InputMaybe; - /** OR condition */ - or?: InputMaybe; - /** Profile ownership condition */ - profile?: InputMaybe; - /** ERC20 token ownership condition */ - token?: InputMaybe; -}; - -/** The access conditions for the publication */ -export type AccessConditionOutput = { - __typename?: 'AccessConditionOutput'; - /** AND condition */ - and?: Maybe; - /** Profile follow condition */ - collect?: Maybe; - /** EOA ownership condition */ - eoa?: Maybe; - /** Profile follow condition */ - follow?: Maybe; - /** NFT ownership condition */ - nft?: Maybe; - /** OR condition */ - or?: Maybe; - /** Profile ownership condition */ - profile?: Maybe; - /** ERC20 token ownership condition */ - token?: Maybe; -}; - -export type AchRequest = { - ethereumAddress: Scalars['EthereumAddress']; - freeTextHandle?: InputMaybe; - handle?: InputMaybe; - overrideAlreadyClaimed: Scalars['Boolean']; - overrideTradeMark: Scalars['Boolean']; - secret: Scalars['String']; -}; - -/** The request object to add interests to a profile */ -export type AddProfileInterestsRequest = { - /** The profile interest to add */ - interests: Array; - /** The profileId to add interests to */ - profileId: Scalars['ProfileId']; -}; - -export type AllPublicationsTagsRequest = { - cursor?: InputMaybe; - limit?: InputMaybe; - sort: TagSortCriteria; - /** The App Id */ - source?: InputMaybe; -}; - -export type AndConditionInput = { - /** The list of conditions to apply AND to. You can only use nested boolean conditions at the root level. */ - criteria: Array; -}; - -export type AndConditionOutput = { - __typename?: 'AndConditionOutput'; - /** The list of conditions to apply AND to. You can only use nested boolean conditions at the root level. */ - criteria: Array; -}; - -export type ApprovedAllowanceAmount = { - __typename?: 'ApprovedAllowanceAmount'; - allowance: Scalars['String']; - contractAddress: Scalars['ContractAddress']; - currency: Scalars['ContractAddress']; - module: Scalars['String']; -}; - -export type ApprovedModuleAllowanceAmountRequest = { - collectModules?: InputMaybe>; - /** The contract addresses for the module approved currencies you want to find information on about the user */ - currencies: Array; - followModules?: InputMaybe>; - referenceModules?: InputMaybe>; - unknownCollectModules?: InputMaybe>; - unknownFollowModules?: InputMaybe>; - unknownReferenceModules?: InputMaybe>; -}; - -/** The Profile */ -export type Attribute = { - __typename?: 'Attribute'; - /** The display type */ - displayType?: Maybe; - /** identifier of this attribute, we will update by this id */ - key: Scalars['String']; - /** The trait type - can be anything its the name it will render so include spaces */ - traitType?: Maybe; - /** Value attribute */ - value: Scalars['String']; -}; - -/** The auth challenge result */ -export type AuthChallengeResult = { - __typename?: 'AuthChallengeResult'; - /** The text to sign */ - text: Scalars['String']; -}; - -/** The authentication result */ -export type AuthenticationResult = { - __typename?: 'AuthenticationResult'; - /** The access token */ - accessToken: Scalars['Jwt']; - /** The refresh token */ - refreshToken: Scalars['Jwt']; -}; - -export type BroadcastRequest = { - id: Scalars['BroadcastId']; - signature: Scalars['Signature']; -}; - -export type BurnProfileRequest = { - profileId: Scalars['ProfileId']; -}; - -export type CanCommentResponse = { - __typename?: 'CanCommentResponse'; - result: Scalars['Boolean']; -}; - -export type CanDecryptResponse = { - __typename?: 'CanDecryptResponse'; - extraDetails?: Maybe; - reasons?: Maybe>; - result: Scalars['Boolean']; -}; - -export type CanMirrorResponse = { - __typename?: 'CanMirrorResponse'; - result: Scalars['Boolean']; -}; - -/** The challenge request */ -export type ChallengeRequest = { - /** The ethereum address you want to login with */ - address: Scalars['EthereumAddress']; -}; - -export type ClaimHandleRequest = { - /** The follow module */ - followModule?: InputMaybe; - freeTextHandle?: InputMaybe; - id?: InputMaybe; -}; - -/** The claim status */ -export enum ClaimStatus { - AlreadyClaimed = 'ALREADY_CLAIMED', - ClaimFailed = 'CLAIM_FAILED', - NotClaimed = 'NOT_CLAIMED' -} - -export type ClaimableHandles = { - __typename?: 'ClaimableHandles'; - canClaimFreeTextHandle: Scalars['Boolean']; - reservedHandles: Array; -}; - -/** Condition that signifies if address or profile has collected a publication */ -export type CollectConditionInput = { - /** The publication id that has to be collected to unlock content */ - publicationId?: InputMaybe; - /** True if the content will be unlocked for this specific publication */ - thisPublication?: InputMaybe; -}; - -/** Condition that signifies if address or profile has collected a publication */ -export type CollectConditionOutput = { - __typename?: 'CollectConditionOutput'; - /** The publication id that has to be collected to unlock content */ - publicationId?: Maybe; - /** True if the content will be unlocked for this specific publication */ - thisPublication?: Maybe; -}; - -export type CollectModule = FeeCollectModuleSettings | FreeCollectModuleSettings | LimitedFeeCollectModuleSettings | LimitedTimedFeeCollectModuleSettings | RevertCollectModuleSettings | TimedFeeCollectModuleSettings | UnknownCollectModuleSettings; - -export type CollectModuleParams = { - /** The collect fee collect module */ - feeCollectModule?: InputMaybe; - /** The collect empty collect module */ - freeCollectModule?: InputMaybe; - /** The collect limited fee collect module */ - limitedFeeCollectModule?: InputMaybe; - /** The collect limited timed fee collect module */ - limitedTimedFeeCollectModule?: InputMaybe; - /** The collect revert collect module */ - revertCollectModule?: InputMaybe; - /** The collect timed fee collect module */ - timedFeeCollectModule?: InputMaybe; - /** A unknown collect module */ - unknownCollectModule?: InputMaybe; -}; - -/** The collect module types */ -export enum CollectModules { - AaveFeeCollectModule = 'AaveFeeCollectModule', - Erc4626FeeCollectModule = 'ERC4626FeeCollectModule', - FeeCollectModule = 'FeeCollectModule', - FreeCollectModule = 'FreeCollectModule', - LimitedFeeCollectModule = 'LimitedFeeCollectModule', - LimitedTimedFeeCollectModule = 'LimitedTimedFeeCollectModule', - MultirecipientFeeCollectModule = 'MultirecipientFeeCollectModule', - RevertCollectModule = 'RevertCollectModule', - TimedFeeCollectModule = 'TimedFeeCollectModule', - UnknownCollectModule = 'UnknownCollectModule' -} - -export type CollectProxyAction = { - freeCollect?: InputMaybe; -}; - -export type CollectedEvent = { - __typename?: 'CollectedEvent'; - profile: Profile; - timestamp: Scalars['DateTime']; -}; - -/** The social comment */ -export type Comment = { - __typename?: 'Comment'; - /** ID of the source */ - appId?: Maybe; - canComment: CanCommentResponse; - canDecrypt: CanDecryptResponse; - canMirror: CanMirrorResponse; - /** The collect module */ - collectModule: CollectModule; - /** The contract address for the collect nft.. if its null it means nobody collected yet as it lazy deployed */ - collectNftAddress?: Maybe; - /** Who collected it, this is used for timeline results and like this for better caching for the client */ - collectedBy?: Maybe; - /** Which comment this points to if its null the pointer too deep so do another query to find it out */ - commentOn?: Maybe; - /** The date the post was created on */ - createdAt: Scalars['DateTime']; - /** The data availability proofs you can fetch from */ - dataAvailabilityProofs?: Maybe; - /** This will bring back the first comment of a comment and only be defined if using `publication` query and `commentOf` */ - firstComment?: Maybe; - hasCollectedByMe: Scalars['Boolean']; - /** If the publication has been hidden if it has then the content and media is not available */ - hidden: Scalars['Boolean']; - /** The internal publication id */ - id: Scalars['InternalPublicationId']; - /** Indicates if the publication is data availability post */ - isDataAvailability: Scalars['Boolean']; - /** Indicates if the publication is gated behind some access criteria */ - isGated: Scalars['Boolean']; - /** The top level post/mirror this comment lives on */ - mainPost: MainPostReference; - /** The metadata for the post */ - metadata: MetadataOutput; - mirrors: Array; - /** The on chain content uri could be `ipfs://` or `https` */ - onChainContentURI: Scalars['String']; - /** The profile ref */ - profile: Profile; - reaction?: Maybe; - /** The reference module */ - referenceModule?: Maybe; - /** The publication stats */ - stats: PublicationStats; -}; - - -/** The social comment */ -export type CommentCanCommentArgs = { - profileId?: InputMaybe; -}; - - -/** The social comment */ -export type CommentCanDecryptArgs = { - address?: InputMaybe; - profileId?: InputMaybe; -}; - - -/** The social comment */ -export type CommentCanMirrorArgs = { - profileId?: InputMaybe; -}; - - -/** The social comment */ -export type CommentHasCollectedByMeArgs = { - isFinalisedOnChain?: InputMaybe; -}; - - -/** The social comment */ -export type CommentMirrorsArgs = { - by?: InputMaybe; -}; - - -/** The social comment */ -export type CommentReactionArgs = { - request?: InputMaybe; -}; - -/** The gated publication access criteria contract types */ -export enum ContractType { - Erc20 = 'ERC20', - Erc721 = 'ERC721', - Erc1155 = 'ERC1155' -} - -/** The create burn eip 712 typed data */ -export type CreateBurnEip712TypedData = { - __typename?: 'CreateBurnEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateBurnEip712TypedDataTypes; - /** The values */ - value: CreateBurnEip712TypedDataValue; -}; - -/** The create burn eip 712 typed data types */ -export type CreateBurnEip712TypedDataTypes = { - __typename?: 'CreateBurnEIP712TypedDataTypes'; - BurnWithSig: Array; -}; - -/** The create burn eip 712 typed data value */ -export type CreateBurnEip712TypedDataValue = { - __typename?: 'CreateBurnEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - nonce: Scalars['Nonce']; - tokenId: Scalars['String']; -}; - -/** The broadcast item */ -export type CreateBurnProfileBroadcastItemResult = { - __typename?: 'CreateBurnProfileBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateBurnEip712TypedData; -}; - -/** The broadcast item */ -export type CreateCollectBroadcastItemResult = { - __typename?: 'CreateCollectBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateCollectEip712TypedData; -}; - -/** The collect eip 712 typed data */ -export type CreateCollectEip712TypedData = { - __typename?: 'CreateCollectEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateCollectEip712TypedDataTypes; - /** The values */ - value: CreateCollectEip712TypedDataValue; -}; - -/** The collect eip 712 typed data types */ -export type CreateCollectEip712TypedDataTypes = { - __typename?: 'CreateCollectEIP712TypedDataTypes'; - CollectWithSig: Array; -}; - -/** The collect eip 712 typed data value */ -export type CreateCollectEip712TypedDataValue = { - __typename?: 'CreateCollectEIP712TypedDataValue'; - data: Scalars['BlockchainData']; - deadline: Scalars['UnixTimestamp']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; - pubId: Scalars['PublicationId']; -}; - -export type CreateCollectRequest = { - publicationId: Scalars['InternalPublicationId']; - /** The encoded data to collect with if using an unknown module */ - unknownModuleData?: InputMaybe; -}; - -/** The broadcast item */ -export type CreateCommentBroadcastItemResult = { - __typename?: 'CreateCommentBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateCommentEip712TypedData; -}; - -/** The create comment eip 712 typed data */ -export type CreateCommentEip712TypedData = { - __typename?: 'CreateCommentEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateCommentEip712TypedDataTypes; - /** The values */ - value: CreateCommentEip712TypedDataValue; -}; - -/** The create comment eip 712 typed data types */ -export type CreateCommentEip712TypedDataTypes = { - __typename?: 'CreateCommentEIP712TypedDataTypes'; - CommentWithSig: Array; -}; - -/** The create comment eip 712 typed data value */ -export type CreateCommentEip712TypedDataValue = { - __typename?: 'CreateCommentEIP712TypedDataValue'; - collectModule: Scalars['ContractAddress']; - collectModuleInitData: Scalars['CollectModuleData']; - contentURI: Scalars['PublicationUrl']; - deadline: Scalars['UnixTimestamp']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; - profileIdPointed: Scalars['ProfileId']; - pubIdPointed: Scalars['PublicationId']; - referenceModule: Scalars['ContractAddress']; - referenceModuleData: Scalars['ReferenceModuleData']; - referenceModuleInitData: Scalars['ReferenceModuleData']; -}; - -/** The broadcast item */ -export type CreateFollowBroadcastItemResult = { - __typename?: 'CreateFollowBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateFollowEip712TypedData; -}; - -/** The create follow eip 712 typed data */ -export type CreateFollowEip712TypedData = { - __typename?: 'CreateFollowEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateFollowEip712TypedDataTypes; - /** The values */ - value: CreateFollowEip712TypedDataValue; -}; - -/** The create follow eip 712 typed data types */ -export type CreateFollowEip712TypedDataTypes = { - __typename?: 'CreateFollowEIP712TypedDataTypes'; - FollowWithSig: Array; -}; - -/** The create follow eip 712 typed data value */ -export type CreateFollowEip712TypedDataValue = { - __typename?: 'CreateFollowEIP712TypedDataValue'; - datas: Array; - deadline: Scalars['UnixTimestamp']; - nonce: Scalars['Nonce']; - profileIds: Array; -}; - -/** The broadcast item */ -export type CreateMirrorBroadcastItemResult = { - __typename?: 'CreateMirrorBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateMirrorEip712TypedData; -}; - -/** The mirror eip 712 typed data */ -export type CreateMirrorEip712TypedData = { - __typename?: 'CreateMirrorEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateMirrorEip712TypedDataTypes; - /** The values */ - value: CreateMirrorEip712TypedDataValue; -}; - -/** The mirror eip 712 typed data types */ -export type CreateMirrorEip712TypedDataTypes = { - __typename?: 'CreateMirrorEIP712TypedDataTypes'; - MirrorWithSig: Array; -}; - -/** The mirror eip 712 typed data value */ -export type CreateMirrorEip712TypedDataValue = { - __typename?: 'CreateMirrorEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; - profileIdPointed: Scalars['ProfileId']; - pubIdPointed: Scalars['PublicationId']; - referenceModule: Scalars['ContractAddress']; - referenceModuleData: Scalars['ReferenceModuleData']; - referenceModuleInitData: Scalars['ReferenceModuleData']; -}; - -export type CreateMirrorRequest = { - /** Profile id */ - profileId: Scalars['ProfileId']; - /** Publication id of what you want to mirror on remember if this is a comment it will be that as the id */ - publicationId: Scalars['InternalPublicationId']; - /** The reference module info */ - referenceModule?: InputMaybe; -}; - -/** The broadcast item */ -export type CreatePostBroadcastItemResult = { - __typename?: 'CreatePostBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreatePostEip712TypedData; -}; - -/** The create post eip 712 typed data */ -export type CreatePostEip712TypedData = { - __typename?: 'CreatePostEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreatePostEip712TypedDataTypes; - /** The values */ - value: CreatePostEip712TypedDataValue; -}; - -/** The create post eip 712 typed data types */ -export type CreatePostEip712TypedDataTypes = { - __typename?: 'CreatePostEIP712TypedDataTypes'; - PostWithSig: Array; -}; - -/** The create post eip 712 typed data value */ -export type CreatePostEip712TypedDataValue = { - __typename?: 'CreatePostEIP712TypedDataValue'; - collectModule: Scalars['ContractAddress']; - collectModuleInitData: Scalars['CollectModuleData']; - contentURI: Scalars['PublicationUrl']; - deadline: Scalars['UnixTimestamp']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; - referenceModule: Scalars['ContractAddress']; - referenceModuleInitData: Scalars['ReferenceModuleData']; -}; - -export type CreatePublicCommentRequest = { - /** The collect module */ - collectModule: CollectModuleParams; - /** The metadata uploaded somewhere passing in the url to reach it */ - contentURI: Scalars['Url']; - /** The criteria to access the publication data */ - gated?: InputMaybe; - /** Profile id */ - profileId: Scalars['ProfileId']; - /** Publication id of what your comments on remember if this is a comment you commented on it will be that as the id */ - publicationId: Scalars['InternalPublicationId']; - /** The reference module */ - referenceModule?: InputMaybe; -}; - -export type CreatePublicPostRequest = { - /** The collect module */ - collectModule: CollectModuleParams; - /** The metadata uploaded somewhere passing in the url to reach it */ - contentURI: Scalars['Url']; - /** The criteria to access the publication data */ - gated?: InputMaybe; - /** Profile id */ - profileId: Scalars['ProfileId']; - /** The reference module */ - referenceModule?: InputMaybe; -}; - -export type CreatePublicSetProfileMetadataUriRequest = { - /** The metadata uploaded somewhere passing in the url to reach it */ - metadata: Scalars['Url']; - /** Profile id */ - profileId: Scalars['ProfileId']; -}; - -export type CreateSetDefaultProfileRequest = { - /** Profile id */ - profileId: Scalars['ProfileId']; -}; - -/** The broadcast item */ -export type CreateSetDispatcherBroadcastItemResult = { - __typename?: 'CreateSetDispatcherBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateSetDispatcherEip712TypedData; -}; - -/** The set dispatcher eip 712 typed data */ -export type CreateSetDispatcherEip712TypedData = { - __typename?: 'CreateSetDispatcherEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateSetDispatcherEip712TypedDataTypes; - /** The values */ - value: CreateSetDispatcherEip712TypedDataValue; -}; - -/** The set dispatcher eip 712 typed data types */ -export type CreateSetDispatcherEip712TypedDataTypes = { - __typename?: 'CreateSetDispatcherEIP712TypedDataTypes'; - SetDispatcherWithSig: Array; -}; - -/** The set dispatcher eip 712 typed data value */ -export type CreateSetDispatcherEip712TypedDataValue = { - __typename?: 'CreateSetDispatcherEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - dispatcher: Scalars['EthereumAddress']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; -}; - -/** The broadcast item */ -export type CreateSetFollowModuleBroadcastItemResult = { - __typename?: 'CreateSetFollowModuleBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateSetFollowModuleEip712TypedData; -}; - -/** The set follow module eip 712 typed data */ -export type CreateSetFollowModuleEip712TypedData = { - __typename?: 'CreateSetFollowModuleEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateSetFollowModuleEip712TypedDataTypes; - /** The values */ - value: CreateSetFollowModuleEip712TypedDataValue; -}; - -/** The set follow module eip 712 typed data types */ -export type CreateSetFollowModuleEip712TypedDataTypes = { - __typename?: 'CreateSetFollowModuleEIP712TypedDataTypes'; - SetFollowModuleWithSig: Array; -}; - -/** The set follow module eip 712 typed data value */ -export type CreateSetFollowModuleEip712TypedDataValue = { - __typename?: 'CreateSetFollowModuleEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - followModule: Scalars['ContractAddress']; - followModuleInitData: Scalars['FollowModuleData']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; -}; - -export type CreateSetFollowModuleRequest = { - /** The follow module info */ - followModule: FollowModuleParams; - profileId: Scalars['ProfileId']; -}; - -/** The broadcast item */ -export type CreateSetFollowNftUriBroadcastItemResult = { - __typename?: 'CreateSetFollowNFTUriBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateSetFollowNftUriEip712TypedData; -}; - -/** The set follow nft uri eip 712 typed data */ -export type CreateSetFollowNftUriEip712TypedData = { - __typename?: 'CreateSetFollowNFTUriEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateSetFollowNftUriEip712TypedDataTypes; - /** The values */ - value: CreateSetFollowNftUriEip712TypedDataValue; -}; - -/** The set follow nft uri eip 712 typed data types */ -export type CreateSetFollowNftUriEip712TypedDataTypes = { - __typename?: 'CreateSetFollowNFTUriEIP712TypedDataTypes'; - SetFollowNFTURIWithSig: Array; -}; - -/** The set follow nft uri eip 712 typed data value */ -export type CreateSetFollowNftUriEip712TypedDataValue = { - __typename?: 'CreateSetFollowNFTUriEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - followNFTURI: Scalars['Url']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; -}; - -export type CreateSetFollowNftUriRequest = { - /** The follow NFT URI is the NFT metadata your followers will mint when they follow you. This can be updated at all times. If you do not pass in anything it will create a super cool changing NFT which will show the last publication of your profile as the NFT which looks awesome! This means people do not have to worry about writing this logic but still have the ability to customise it for their followers */ - followNFTURI?: InputMaybe; - profileId: Scalars['ProfileId']; -}; - -/** The broadcast item */ -export type CreateSetProfileImageUriBroadcastItemResult = { - __typename?: 'CreateSetProfileImageUriBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateSetProfileImageUriEip712TypedData; -}; - -/** The set profile uri eip 712 typed data */ -export type CreateSetProfileImageUriEip712TypedData = { - __typename?: 'CreateSetProfileImageUriEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateSetProfileImageUriEip712TypedDataTypes; - /** The values */ - value: CreateSetProfileImageUriEip712TypedDataValue; -}; - -/** The set profile image uri eip 712 typed data types */ -export type CreateSetProfileImageUriEip712TypedDataTypes = { - __typename?: 'CreateSetProfileImageUriEIP712TypedDataTypes'; - SetProfileImageURIWithSig: Array; -}; - -/** The set profile uri eip 712 typed data value */ -export type CreateSetProfileImageUriEip712TypedDataValue = { - __typename?: 'CreateSetProfileImageUriEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - imageURI: Scalars['Url']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; -}; - -/** The broadcast item */ -export type CreateSetProfileMetadataUriBroadcastItemResult = { - __typename?: 'CreateSetProfileMetadataURIBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateSetProfileMetadataUrieip712TypedData; -}; - -/** The set follow nft uri eip 712 typed data */ -export type CreateSetProfileMetadataUrieip712TypedData = { - __typename?: 'CreateSetProfileMetadataURIEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateSetProfileMetadataUrieip712TypedDataTypes; - /** The values */ - value: CreateSetProfileMetadataUrieip712TypedDataValue; -}; - -/** The set follow nft uri eip 712 typed data types */ -export type CreateSetProfileMetadataUrieip712TypedDataTypes = { - __typename?: 'CreateSetProfileMetadataURIEIP712TypedDataTypes'; - SetProfileMetadataURIWithSig: Array; -}; - -/** The set follow nft uri eip 712 typed data value */ -export type CreateSetProfileMetadataUrieip712TypedDataValue = { - __typename?: 'CreateSetProfileMetadataURIEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - metadata: Scalars['Url']; - nonce: Scalars['Nonce']; - profileId: Scalars['ProfileId']; -}; - -/** The broadcast item */ -export type CreateToggleFollowBroadcastItemResult = { - __typename?: 'CreateToggleFollowBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateToggleFollowEip712TypedData; -}; - -/** The create toggle follows eip 712 typed data */ -export type CreateToggleFollowEip712TypedData = { - __typename?: 'CreateToggleFollowEIP712TypedData'; - /** The typed data domain */ - domain: Eip712TypedDataDomain; - /** The types */ - types: CreateToggleFollowEip712TypedDataTypes; - /** The values */ - value: CreateToggleFollowEip712TypedDataValue; -}; - -/** The create toggle follows eip 712 typed data types */ -export type CreateToggleFollowEip712TypedDataTypes = { - __typename?: 'CreateToggleFollowEIP712TypedDataTypes'; - ToggleFollowWithSig: Array; -}; - -/** The create toggle follow eip 712 typed data value */ -export type CreateToggleFollowEip712TypedDataValue = { - __typename?: 'CreateToggleFollowEIP712TypedDataValue'; - deadline: Scalars['UnixTimestamp']; - enables: Array; - nonce: Scalars['Nonce']; - profileIds: Array; -}; - -export type CreateToggleFollowRequest = { - enables: Array; - profileIds: Array; -}; - -/** The broadcast item */ -export type CreateUnfollowBroadcastItemResult = { - __typename?: 'CreateUnfollowBroadcastItemResult'; - /** The date the broadcast item expiries */ - expiresAt: Scalars['DateTime']; - /** This broadcast item ID */ - id: Scalars['BroadcastId']; - /** The typed data */ - typedData: CreateBurnEip712TypedData; -}; - -export type CurRequest = { - secret: Scalars['String']; -}; - -/** The custom filters types */ -export enum CustomFiltersTypes { - Gardeners = 'GARDENERS' -} - -/** The reason why a profile cannot decrypt a publication */ -export enum DecryptFailReason { - CanNotDecrypt = 'CAN_NOT_DECRYPT', - CollectNotFinalisedOnChain = 'COLLECT_NOT_FINALISED_ON_CHAIN', - DoesNotFollowProfile = 'DOES_NOT_FOLLOW_PROFILE', - DoesNotOwnNft = 'DOES_NOT_OWN_NFT', - DoesNotOwnProfile = 'DOES_NOT_OWN_PROFILE', - FollowNotFinalisedOnChain = 'FOLLOW_NOT_FINALISED_ON_CHAIN', - HasNotCollectedPublication = 'HAS_NOT_COLLECTED_PUBLICATION', - MissingEncryptionParams = 'MISSING_ENCRYPTION_PARAMS', - ProfileDoesNotExist = 'PROFILE_DOES_NOT_EXIST', - UnauthorizedAddress = 'UNAUTHORIZED_ADDRESS', - UnauthorizedBalance = 'UNAUTHORIZED_BALANCE' -} - -export type DefaultProfileRequest = { - ethereumAddress: Scalars['EthereumAddress']; -}; - -export type DegreesOfSeparationReferenceModuleParams = { - /** Applied to comments */ - commentsRestricted: Scalars['Boolean']; - /** Degrees of separation */ - degreesOfSeparation: Scalars['Int']; - /** Applied to mirrors */ - mirrorsRestricted: Scalars['Boolean']; -}; - -export type DegreesOfSeparationReferenceModuleSettings = { - __typename?: 'DegreesOfSeparationReferenceModuleSettings'; - /** Applied to comments */ - commentsRestricted: Scalars['Boolean']; - contractAddress: Scalars['ContractAddress']; - /** Degrees of separation */ - degreesOfSeparation: Scalars['Int']; - /** Applied to mirrors */ - mirrorsRestricted: Scalars['Boolean']; - /** The reference modules enum */ - type: ReferenceModules; -}; - -/** The dispatcher */ -export type Dispatcher = { - __typename?: 'Dispatcher'; - /** The dispatcher address */ - address: Scalars['EthereumAddress']; - /** If the dispatcher can use the relay */ - canUseRelay: Scalars['Boolean']; -}; - -export type DoesFollow = { - /** The follower address remember wallets follow profiles */ - followerAddress: Scalars['EthereumAddress']; - /** The profile id */ - profileId: Scalars['ProfileId']; -}; - -export type DoesFollowRequest = { - /** The follower infos */ - followInfos: Array; -}; - -/** The does follow response */ -export type DoesFollowResponse = { - __typename?: 'DoesFollowResponse'; - /** The follower address remember wallets follow profiles */ - followerAddress: Scalars['EthereumAddress']; - /** If the user does follow */ - follows: Scalars['Boolean']; - /** Is finalised on-chain */ - isFinalisedOnChain: Scalars['Boolean']; - /** The profile id */ - profileId: Scalars['ProfileId']; -}; - -/** The eip 712 typed data domain */ -export type Eip712TypedDataDomain = { - __typename?: 'EIP712TypedDataDomain'; - /** The chainId */ - chainId: Scalars['ChainId']; - /** The name of the typed data domain */ - name: Scalars['String']; - /** The verifying contract */ - verifyingContract: Scalars['ContractAddress']; - /** The version */ - version: Scalars['String']; -}; - -/** The eip 712 typed data field */ -export type Eip712TypedDataField = { - __typename?: 'EIP712TypedDataField'; - /** The name of the typed data field */ - name: Scalars['String']; - /** The type of the typed data field */ - type: Scalars['String']; -}; - -export type ElectedMirror = { - __typename?: 'ElectedMirror'; - mirrorId: Scalars['InternalPublicationId']; - profile: Profile; - timestamp: Scalars['DateTime']; -}; - -export type EnabledModule = { - __typename?: 'EnabledModule'; - contractAddress: Scalars['ContractAddress']; - inputParams: Array; - moduleName: Scalars['String']; - redeemParams: Array; - returnDataParms: Array; -}; - -/** The enabled modules */ -export type EnabledModules = { - __typename?: 'EnabledModules'; - collectModules: Array; - followModules: Array; - referenceModules: Array; -}; - -/** The encrypted fields */ -export type EncryptedFieldsOutput = { - __typename?: 'EncryptedFieldsOutput'; - /** The encrypted animation_url field */ - animation_url?: Maybe; - /** The encrypted content field */ - content?: Maybe; - /** The encrypted external_url field */ - external_url?: Maybe; - /** The encrypted image field */ - image?: Maybe; - /** The encrypted media field */ - media?: Maybe>; -}; - -/** The Encrypted Media url and metadata */ -export type EncryptedMedia = { - __typename?: 'EncryptedMedia'; - /** The encrypted alt tags for accessibility */ - altTag?: Maybe; - /** The encrypted cover for any video or audio you attached */ - cover?: Maybe; - /** Height - will always be null on the public API */ - height?: Maybe; - /** The image/audio/video mime type for the publication */ - mimeType?: Maybe; - /** Size - will always be null on the public API */ - size?: Maybe; - /** The encrypted value for the URL */ - url: Scalars['Url']; - /** Width - will always be null on the public API */ - width?: Maybe; -}; - -/** The encrypted media set */ -export type EncryptedMediaSet = { - __typename?: 'EncryptedMediaSet'; - /** - * Medium media - will always be null on the public API - * @deprecated should not be used will always be null - */ - medium?: Maybe; - /** Original media */ - original: EncryptedMedia; - /** - * Small media - will always be null on the public API - * @deprecated should not be used will always be null - */ - small?: Maybe; -}; - -/** The metadata encryption params */ -export type EncryptionParamsOutput = { - __typename?: 'EncryptionParamsOutput'; - /** The access conditions */ - accessCondition: AccessConditionOutput; - /** The encrypted fields */ - encryptedFields: EncryptedFieldsOutput; - /** The encryption provider */ - encryptionProvider: EncryptionProvider; - /** The provider-specific encryption params */ - providerSpecificParams: ProviderSpecificParamsOutput; -}; - -/** The gated publication encryption provider */ -export enum EncryptionProvider { - LitProtocol = 'LIT_PROTOCOL' -} - -export type EnsOnChainIdentity = { - __typename?: 'EnsOnChainIdentity'; - /** The default ens mapped to this address */ - name?: Maybe; -}; - -export type EoaOwnershipInput = { - /** The address that will have access to the content */ - address: Scalars['EthereumAddress']; -}; - -export type EoaOwnershipOutput = { - __typename?: 'EoaOwnershipOutput'; - /** The address that will have access to the content */ - address: Scalars['EthereumAddress']; -}; - -/** The erc20 type */ -export type Erc20 = { - __typename?: 'Erc20'; - /** The erc20 address */ - address: Scalars['ContractAddress']; - /** Decimal places for the token */ - decimals: Scalars['Int']; - /** Name of the symbol */ - name: Scalars['String']; - /** Symbol for the token */ - symbol: Scalars['String']; -}; - -export type Erc20Amount = { - __typename?: 'Erc20Amount'; - /** The erc20 token info */ - asset: Erc20; - /** Floating point number as string (e.g. 42.009837). It could have the entire precision of the Asset or be truncated to the last significant decimal. */ - value: Scalars['String']; -}; - -export type Erc20OwnershipInput = { - /** The amount of tokens required to access the content */ - amount: Scalars['String']; - /** The amount of tokens required to access the content */ - chainID: Scalars['ChainId']; - /** The operator to use when comparing the amount of tokens */ - condition: ScalarOperator; - /** The ERC20 token's ethereum address */ - contractAddress: Scalars['ContractAddress']; - /** The amount of decimals of the ERC20 contract */ - decimals: Scalars['Float']; -}; - -export type Erc20OwnershipOutput = { - __typename?: 'Erc20OwnershipOutput'; - /** The amount of tokens required to access the content */ - amount: Scalars['String']; - /** The amount of tokens required to access the content */ - chainID: Scalars['ChainId']; - /** The operator to use when comparing the amount of tokens */ - condition: ScalarOperator; - /** The ERC20 token's ethereum address */ - contractAddress: Scalars['ContractAddress']; - /** The amount of decimals of the ERC20 contract */ - decimals: Scalars['Float']; -}; - -/** The paginated publication result */ -export type ExploreProfileResult = { - __typename?: 'ExploreProfileResult'; - items: Array; - pageInfo: PaginatedResultInfo; -}; - -export type ExploreProfilesRequest = { - cursor?: InputMaybe; - customFilters?: InputMaybe>; - limit?: InputMaybe; - sortCriteria: ProfileSortCriteria; - timestamp?: InputMaybe; -}; - -export type ExplorePublicationRequest = { - cursor?: InputMaybe; - customFilters?: InputMaybe>; - /** If you wish to exclude any results for profile ids */ - excludeProfileIds?: InputMaybe>; - limit?: InputMaybe; - metadata?: InputMaybe; - /** If you want the randomizer off (default on) */ - noRandomize?: InputMaybe; - /** The publication types you want to query */ - publicationTypes?: InputMaybe>; - sortCriteria: PublicationSortCriteria; - /** The App Id */ - sources?: InputMaybe>; - timestamp?: InputMaybe; -}; - -/** The paginated publication result */ -export type ExplorePublicationResult = { - __typename?: 'ExplorePublicationResult'; - items: Array; - pageInfo: PaginatedResultInfo; -}; - -export type FeeCollectModuleParams = { - /** The collect module amount info */ - amount: ModuleFeeAmountParams; - /** Follower only */ - followerOnly: Scalars['Boolean']; - /** The collect module recipient address */ - recipient: Scalars['EthereumAddress']; - /** The collect module referral fee */ - referralFee: Scalars['Float']; -}; - -export type FeeCollectModuleSettings = { - __typename?: 'FeeCollectModuleSettings'; - /** The collect module amount info */ - amount: ModuleFeeAmount; - contractAddress: Scalars['ContractAddress']; - /** Follower only */ - followerOnly: Scalars['Boolean']; - /** The collect module recipient address */ - recipient: Scalars['EthereumAddress']; - /** The collect module referral fee */ - referralFee: Scalars['Float']; - /** The collect modules enum */ - type: CollectModules; -}; - -export type FeeFollowModuleParams = { - /** The follow module amount info */ - amount: ModuleFeeAmountParams; - /** The follow module recipient address */ - recipient: Scalars['EthereumAddress']; -}; - -export type FeeFollowModuleRedeemParams = { - /** The expected amount to pay */ - amount: ModuleFeeAmountParams; -}; - -export type FeeFollowModuleSettings = { - __typename?: 'FeeFollowModuleSettings'; - /** The collect module amount info */ - amount: ModuleFeeAmount; - contractAddress: Scalars['ContractAddress']; - /** The collect module recipient address */ - recipient: Scalars['EthereumAddress']; - /** The follow modules enum */ - type: FollowModules; -}; - -/** The feed event item filter types */ -export enum FeedEventItemType { - CollectComment = 'COLLECT_COMMENT', - CollectPost = 'COLLECT_POST', - Comment = 'COMMENT', - Mirror = 'MIRROR', - Post = 'POST', - ReactionComment = 'REACTION_COMMENT', - ReactionPost = 'REACTION_POST' -} - -export type FeedHighlightsRequest = { - cursor?: InputMaybe; - limit?: InputMaybe; - metadata?: InputMaybe; - /** The profile id */ - profileId: Scalars['ProfileId']; - /** The App Id */ - sources?: InputMaybe>; -}; - -export type FeedItem = { - __typename?: 'FeedItem'; - /** Sorted by most recent first. Resolves defaultProfile and if null omits the wallet collect event from the list. */ - collects: Array; - /** Sorted by most recent first. Up to page size - 1 comments. */ - comments?: Maybe>; - /** The elected mirror will be the first Mirror publication within the page results set */ - electedMirror?: Maybe; - /** Sorted by most recent first. Up to page size - 1 mirrors */ - mirrors: Array; - /** Sorted by most recent first. Up to page size - 1 reactions */ - reactions: Array; - root: FeedItemRoot; -}; - -export type FeedItemRoot = Comment | Post; - -export type FeedRequest = { - cursor?: InputMaybe; - /** Filter your feed to whatever you wish */ - feedEventItemTypes?: InputMaybe>; - limit?: InputMaybe; - metadata?: InputMaybe; - /** The profile id */ - profileId: Scalars['ProfileId']; - /** The App Id */ - sources?: InputMaybe>; -}; - -export type Follow = { - followModule?: InputMaybe; - profile: Scalars['ProfileId']; -}; - -export type FollowConditionInput = { - /** The profile id of the gated profile */ - profileId: Scalars['ProfileId']; -}; - -export type FollowConditionOutput = { - __typename?: 'FollowConditionOutput'; - /** The profile id of the gated profile */ - profileId: Scalars['ProfileId']; -}; - -export type FollowModule = FeeFollowModuleSettings | ProfileFollowModuleSettings | RevertFollowModuleSettings | UnknownFollowModuleSettings; - -export type FollowModuleParams = { - /** The follower fee follower module */ - feeFollowModule?: InputMaybe; - /** The empty follow module */ - freeFollowModule?: InputMaybe; - /** The profile follow module */ - profileFollowModule?: InputMaybe; - /** The revert follow module */ - revertFollowModule?: InputMaybe; - /** A unknown follow module */ - unknownFollowModule?: InputMaybe; -}; - -export type FollowModuleRedeemParams = { - /** The follower fee follower module */ - feeFollowModule?: InputMaybe; - /** The profile follower module */ - profileFollowModule?: InputMaybe; - /** A unknown follow module */ - unknownFollowModule?: InputMaybe; -}; - -/** The follow module types */ -export enum FollowModules { - FeeFollowModule = 'FeeFollowModule', - ProfileFollowModule = 'ProfileFollowModule', - RevertFollowModule = 'RevertFollowModule', - UnknownFollowModule = 'UnknownFollowModule' -} - -export type FollowOnlyReferenceModuleSettings = { - __typename?: 'FollowOnlyReferenceModuleSettings'; - contractAddress: Scalars['ContractAddress']; - /** The reference modules enum */ - type: ReferenceModules; -}; - -export type FollowProxyAction = { - freeFollow?: InputMaybe; -}; - -export type FollowRequest = { - follow: Array; -}; - -export type FollowRevenueResult = { - __typename?: 'FollowRevenueResult'; - revenues: Array; -}; - -export type Follower = { - __typename?: 'Follower'; - totalAmountOfTimesFollowed: Scalars['Int']; - wallet: Wallet; -}; - -export type FollowerNftOwnedTokenIds = { - __typename?: 'FollowerNftOwnedTokenIds'; - followerNftAddress: Scalars['ContractAddress']; - tokensIds: Array; -}; - -export type FollowerNftOwnedTokenIdsRequest = { - address: Scalars['EthereumAddress']; - profileId: Scalars['ProfileId']; -}; - -export type FollowersRequest = { - cursor?: InputMaybe
{link.label}
{description}
+ {children} +
Username: {profile?.username || "N/A"}
+ Our game offers a unique and engaging experience that combines the excitement of gaming with scientific knowledge. +
+ By playing, you can actively contribute to scientific research by classifying objects based on real-world data. The current focus is on the planets mini-game, where you can help identify potential new planets discovered by the TESS telescope. +
+ To start playing, sign up & create an account. Once you have logged in, you will be redirected to our training program, where we teach you how to play. +
+ Once complete, you will have the ability to navigate to the planets page where you'll classify different objects with relevant information to help you make informed decisions. +
+ The more you classify, the more items you collect, and the more items you collect, the more planets you can colonize. You can earn points that can be redeemed for rewards and recognition within the Star Sailors community. This is also where you can create posts about your decisions and invite other users to vote on your assessments. +
{planet?.owner} Owner
This planet doesn't have a TIC ID
Planet ID: {planet?.id}
Temperatue: {planet?.temperature} Kelvin
Created at: {planet?.created_at}
Contract: {planet?.contract}
Contract info: {planet?.contract} ↝ {planet?.tokenId} on {planet?.chainId}
Owner of this anomaly: {planet?.owner}
npm i daisyui
Radius: {radius}
TIC: {ticId}
Name: {content}
ID: {id}
- Earned this session: {" "} - - {ethers.utils.formatEther((amount * multiplier).toFixed(0)) || "Error..."} - -
Claim your planet NFT to start playing
Your Minerals
- Balance: {currentBalance?.displayValue} -
- Unclaimed: {" "} - {unclaimedAmount && ethers.utils.formatUnits(unclaimedAmount)} -
Approx rewards would go here
- Price:{" "} - - {claimCondition && ethers.utils.formatUnits(claimCondition?.price)}{" "} - Minerals - -
Name: {name}
Defence: {hp}
Attack: {attack}
Speed: {speed}
Location: {location}
- Spaceship Name -
Name: {ship.name}
Defence: {ship.hp}
Attack: {ship.attack}
Speed: {ship.speed}
Location: {ship.location}
PROPOSALS
PARTICIPATE AND PROPOSE NOW
ELIGIBLE VOTERS
JOIN THE DAO NOW AND BECOME ONE
YOUR VOTING POWER
BASED ON YOUR TOKEN BALANCE
The current Value of the Box is:
Only the owners of the ERC20 Token can Vote
The Dao members will vote to decide what happens next
Last proposal: {shortId}
Vote and engage with the DAO
Vote Period has Finished, time to execute!
We've got a page with some different tutorials on what to look for, and a discord server (click here) to compare results, discuss findings & get help
+ {/* Citizen science is still crucial in classifying planetary candidates, even with the advancements in AI technology like ChatGPT. One reason is that citizen scientists provide a diversity of perspectives and ideas that are not always captured by AI algorithms. They can also help identify patterns or anomalies that may be overlooked by machines, or flag false positives that could otherwise lead to inaccurate results. Additionally, involving citizen scientists in scientific research promotes education and engagement in science, technology, engineering, and mathematics (STEM) fields. It allows individuals who may not have formal training in these areas to contribute to scientific discoveries and feel more connected to the scientific community. Ultimately, citizen science can provide a powerful tool for scientists to explore the universe and expand our knowledge of the cosmos.
+ That's right. Since 2021, we've been working on a beautiful game for Star Sailors in Unity3D, however due to regular burnout and a lack of funding, we've decided to release this web client first as a "proof of concept". We're adding new features daily and we're hoping to have a great game in your hands soon. And even before we get to that point, you'll be able to get a head start here, as you'll be able to own planets, generate resources and more - and your progress will be saved and migrated over to the full game upon release.
{article.title}
Posted by {article.user_id.toLowerCase()}
{publication.metadata.content}
{publication.stats.totalAmountOfCollects} Collects
{publication.stats.totalAmountOfComments} Comments
{publication.stats.totalAmountOfMirrors} Mirrors
{profileData?.profile?.handle}
{profileData?.profile?.bio}
{profileData?.profile?.stats.totalFollowers} Followers
Classification by {authorProfile.username}
Classification by Anon
{content} (Planet {planets2}) {planets2?.temperature}
- - - {authorProfile?.username} - - - shared a post on planet {planets2} {/* Add link to ORCHID publication ID/Lens ID */} -
{content}
- - - {authorProfile?.username} - - - shared a post {/* Add link to ORCHID publication ID/Lens ID */} -
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut doloremque harum maxime mollitia perferendis praesentium quaerat. Adipisci, delectus eum fugiat incidunt iusto molestiae nesciunt odio porro quae quaerat, reprehenderit, sed.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet assumenda error necessitatibus nesciunt quas quidem quisquam reiciendis, similique. Amet consequuntur facilis iste iure minima nisi non praesentium ratione voluptas voluptatem?